是涨是跌?用Python预测股票价格趋势

6a8a32152b1ff48805df725bbaf28961.png

来源数据:STUDIO,作者:云朵君

导读:在本文中我们尝试研究白酒股票市场的数据。使用baostock来获取股票信息,可视化它们的不同,最后将使用一些方法来分析股票的风险。还将通过长期短期记忆(LSTM)方法来预测未来的股票价格。注意,本文是对股票价格预测的初级尝试,旨在学习python在股票预测中的应用案例。股票的预测是一个很大的学问,并不是通过一文就能解决的。

本文从如下几个方面展开:

  1. 一段时间内股票价格的变化是多少?

  2. 股票的平均日回报率是多少?

  3. 各种股票的移动平均线是多少?

  4. 不同股票之间的相关性是什么?

  5. 我们投资某只股票的风险是多少?

  6. 我们如何预测未来的股票行为呢?(使用LSTM预测贵州茅台的收盘价)


要预测股票趋势,通常需要历史的各类交易价格数据来进行模型的搭建。“历史惊人的相似”是股票趋势判断问题的重要假设。通常我们的思维是,股票某一天的交易价格受到该交易日前面的许多交易日的影响,而股价的确定则是由买卖市场双方共同决定的。当我们收盘股票数据集时,应该将多个开盘日归入参考范畴。本文将前 N 个交易日作为一个时间窗口,并设为训练集,将第 N+1 个交易日作为测试集,预测测第 N+2 个交易日的股票趋势情况。通过滑动窗口的方法,设每次滑动窗口移动的距离为 1(即 1 天),则在初始 T 个交易日上能够构造多个训练集和测试集,且训练样本的数据始终等于 N。

股市数据的获取方法详情,请参见python获取股市数据,另外将学习如何分析股票的基本属性。

导入需要用到的模块

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
sns.set_style('whitegrid')
plt.style.use("fivethirtyeight")
plt.rcParams['font.sans-serif'] = ['Arial Unicode MS']
%matplotlib inline
from datetime import datetime
import baostock as bs

定义获取股市数据函数

def get_data(code):end = datetime.now()start = datetime(end.year - 1, end.month, end.day).strftime('%Y-%m-%d')end = end.strftime('%Y-%m-%d')# 登陆系统lg = bs.login()# 获取沪深A股历史K线数据rs_result = bs.query_history_k_data_plus(code,fields="date,open,high,low,close,volume",start_date=start, end_date=end, frequency="d", adjustflag="3")df_result = rs_result.get_data()# 登出系统bs.logout()df_result['date'] = df_result['date'].maplambda x: datetime.strptime(x,'%Y-%m-%d'))_res = df_result.set_index('date')res = _res.applymap(lambda x: float(x))return res

选择四个白酒股票近一年内的历史交易数据,分别为贵州茅台,五粮液, 洋河股份,山西汾酒。其股票代码分别是'sh.600519', 'sz.000858', 'sz.002304', 'sh.600809'

liquor_list = ['sh.600519', 'sz.000858', 'sz.002304', 'sh.600809']
# 贵州茅台,五粮液, 洋河股份,山西汾酒
company_name = ['maotai','wuliangye','yanghe','fenjiu']
for name, code in zip(company_name ,liquor_list):exec(f"{name}=get_data(code)")

注意这里使用高阶函数exec进行批量赋值。

# 需要批量赋值的变量名称
company_list = [maotai, wuliangye, yanghe, fenjiu]
for company, com_name in zip(company_list, company_name):company["company_name"] = com_name
# 将四支股票数据进行纵向合并
df = pd.concat(company_list, axis=0)
df.tail(10)
26dc92529a1f86191f11c203c069e432.png

历史收盘价

绘制四支股票的历史收盘价,从历史收盘价格趋势图大致可以看出,四支股票的趋势很相似。

plt.figure(figsize=(15, 6))
plt.subplots_adjust(top=1.25, bottom=1.2)
for i, company in enumerate(company_list, 1):plt.subplot(2, 2, i)company['close'].plot()plt.ylabel('close')plt.xlabel(None)plt.title(f"Closing Price of {company_name[i - 1]}")  
plt.tight_layout()
0182a2b37b2a3fd491581d0922d07ab3.png

每日交易量

现在我们画出每天的股票交易量。从图中可以看出很多信息,感兴趣的小伙伴们可以研究研究。

plt.figure(figsize=(15, 7))
plt.subplots_adjust(top=1.25, bottom=1.2)
for i, company in enumerate(company_list, 1):plt.subplot(2, 2, i)company['volume'].plot()plt.ylabel('volume')plt.xlabel(None)plt.title(f"Sales Volume for {company_name[i - 1]}") 
plt.tight_layout()
58f6abcdf00cebd46fc9015ec0a65c91.png

现在,我们已经看到了可视化的每日收盘价和成交量,接下来计算股票的移动平均线。

各股票的移动平均线

移动平均算法(MigAeage)是一种典型的处理时间序列数据的算法模型,而股票的价格跟着时间不断变化的一种数据,是典型的时间序列数据,因此利用移动平均算法对股票价格进行预测是股票趋势预测研究中最基础也是最典型的模型。

移动平均算法的核心思想是利用前一阶段的真实的数据值,依次利用特定的公式计算一定范围内的所考虑项目的随机机值,例如在股票趋势预测中是股票的价格,因此在具有周期性或者波动性较大的应用场景中,移动平均的实际结果准确率会受到一定的影响。

# 设置移动天数
ma_day = [10, 20, 50]
for ma in ma_day:for company in company_list:column_name = f"MA for {ma} days"company[column_name] = company['close'].rolling(ma).mean()

现在继续绘制所有移动平均线。

fig, axes = plt.subplots(nrows=2, ncols=2)
fig.set_figheight(8)
fig.set_figwidth(15)
maotai[['close', 'MA for 10 days', 'MA for 20 days', 'MA for 50 days']].plot(ax=axes[0,0])
axes[0,0].set_title('贵州茅台')wuliangye[['close', 'MA for 10 days', 'MA for 20 days', 'MA for 50 days']].plot(ax=axes[0,1])
axes[0,1].set_title('五粮液')yanghe[['close', 'MA for 10 days', 'MA for 20 days', 'MA for 50 days']].plot(ax=axes[1,0])
axes[1,0].set_title('洋河股份')fenjiu[['close', 'MA for 10 days', 'MA for 20 days', 'MA for 50 days']].plot(ax=axes[1,1])
axes[1,1].set_title('山西汾酒')
fig.tight_layout()
d1351f0f2db6b7c3124a8a8203d8a8ea.png

股票的平均日回报率是多少?

现在我们已经完成了一些基本分析,现在进一步深入研究。现在我们来分析一下股票的风险。这里需要仔细观察股票的每日变化趋势。使用pct_change来查找每天的百分比变化。

for company in company_list:company['Daily Return'] = company['close'].pct_change()
# 画出日收益率
fig, axes = plt.subplots(nrows=2, ncols=2)
fig.set_figheight(8)
fig.set_figwidth(15)
maotai['Daily Return'].plot(ax=axes[0,0], legend=True, linestyle='--', marker='o')
axes[0,0].set_title('贵州茅台')
wuliangye['Daily Return'].plot(ax=axes[0,1], legend=True, linestyle='--', marker='o')
axes[0,1].set_title('五粮液')
yanghe['Daily Return'].plot(ax=axes[1,0], legend=True, linestyle='--', marker='o')
axes[1,0].set_title('洋河股份')
fenjiu['Daily Return'].plot(ax=axes[1,1], legend=True, linestyle='--', marker='o')
axes[1,1].set_title('山西汾酒')
fig.tight_layout()
56cf41b19039ee6f7b8208f5faed77a8.png

现在用直方图来全面看看平均日收益。我们将使用seaborn在同一图上创建直方图和kde图。

# 注意这里使用了dropna(),否则seaborn无法读取NaN值
plt.figure(figsize=(12, 7))
company_name_c = ['贵州茅台','五粮液','洋河股份','山西汾酒']
for i, company in enumerate(company_list, 1):plt.subplot(2, 2, i)sns.distplot(company['Daily Return'].dropna(), bins=100, color='purple')plt.ylabel('Daily Return')plt.title(f'{company_name_c[i - 1]}')
# 也可以这样绘制
# maotai['Daily Return'].hist()
plt.tight_layout();
1b50e5ffdcfb96b14dcf852309f58592.png

股票收盘价之间的相关性

如果想分析列表中所有股票的回报呢?

可以将每个股票数据框构建一个包含所有['Close']列的DataFrame。将所有的收盘价为白酒股列表到一个DataFrame内。

index = maotai.index
closing_df = pd.DataFrame()
for company, company_n in zip(company_list,company_name_c):temp_df = pd.DataFrame(index=company.index,data = company['close'].values ,columns=[company_n])closing_df = pd.concat([closing_df,temp_df],axis=1)
# 看看数据
closing_df.head()
58fb44faa5dc0a6a7f3670af1328a9e7.png

现在我们有了所有的收盘价,让我们继续获取所有股票的日回报,就像我们对茅台股票做的那样。

liquor_rets = closing_df.pct_change()
liquor_rets.head()
d353249c7112afe55182cfcf2ed4f71a.png

现在可以比较两支股票的日收益率来检验相关性。

首先让我们看一只股票和它本身的比较。将贵州茅台股票与自身进行比较,应该会显示出一个完美的线性关系。

sns.jointplot('maotai', 'maotai', tech_rets, kind='scatter', color='seagreen')
528a983649df648d64143643ac3730b5.png

我们将使用joinplot来比较贵州茅台和五粮液的日收益。

sns.jointplot('贵州茅台', '五粮液', liquor_rets, kind='scatter')
6c18eff0e248cb18d72559cb3bbbe2b0.png

因此,现在可以看到,如果两个股票是完全(和正的)相互相关,它的日回报值之间的线性关系应该发生。

Seaborn和pandas使得我们很容易对我们的技术股票行情列表中的每一个可能的股票组合重复这种比较分析。我们可以使用sns.pairplot() 自动创建这个绘图。

可以简单地调用DataFrame上的pairplot来对所有比较进行自动可视化分析

sns.pairplot(liquor_rets, kind='reg')
d08eee8ad5b5659206c4daba92a4b325.png

上面我们可以看到所有股票之间的日回报关系。快速浏览一下贵州茅台和五粮液日收益之间的有趣关联。研究这种个体比较可能会很有趣。

虽然仅仅调用sns.pairplot()非常简单,但也可以使用sns.pairgrid()来完全控制图形,包括对角线上的哪种图、上三角形和下三角形。下面是一个充分利用seaborn的力量来实现这一结果的例子。

# 通过命名为returns_fig来设置我们的图形,
# 在DataFrame上调用PairPLot
return_fig = sns.PairGrid(liquor_rets.dropna())
# 使用map_upper,我们可以指定上面的三角形是什么样的。
return_fig.map_upper(plt.scatter, color='purple')
# 我们还可以定义图中较低的三角形,
# 包括绘图类型(kde)或颜色映射(blueppurple)
return_fig.map_lower(sns.kdeplot, cmap='cool_d')
# 最后,我们将把对角线定义为每日收益的一系列直方图
return_fig.map_diag(plt.hist, bins=30)
173bd11d990b6fe14edbb81dfb8b21d3.png

使用同样的方法,绘制四支股票的收盘价相关图。

returns_fig = sns.PairGrid(closing_df)
returns_fig.map_upper(plt.scatter,color='purple')
returns_fig.map_lower(sns.kdeplot,cmap='cool_d')
returns_fig.map_diag(plt.hist,bins=30)
d7e5d02926f6f2400ef8bf0268e81fbc.png

最后,我们还可以做一个相关图,以得到股票日收益值之间的相关性的实际数值。通过比较收盘价格,我们发现了茅台和五粮液之间有趣的关系。

# 让我们用sebron来做一个每日收益的快速相关图
sns.heatmap(liquor_rets.corr(), annot=True, cmap='summer')
f01b75d7697b66a1c45b550bee352425.png
sns.heatmap(closing_df.corr(), annot=True, cmap='summer')
986411cfcd1ba00e6aecbe8c800a2068.png

这验证了前面的分析结果,从数字和视觉上看到五粮液和其他几个白酒股票收益率有最强的相关性。有趣的是,所有的白酒都是正相关的。

股票投资的风险

金融风险往往来源于未来的不确定性。我们通常假设股票价格服从对数正态分布,因而股票回报率服从正态分布。基于此假设,股票回报率的标准房差常用来度量金融风险,也称为波动率。

我们有很多方法来量化风险,其中一个最基本的方法是利用我们收集的关于日收益率百分比的信息将预期收益率与日收益率的标准差进行比较。

# 让我们首先将一个新的DataFrame定义为原始liquor_rets的 DataFrame的压缩版本
rets = liquor_rets.dropna()
area = np.pi * 20
plt.figure(figsize=(10, 7))
plt.scatter(rets.mean(), rets.std(), s=area)
plt.xlabel('预期回报',fontsize=18)
plt.ylabel('风险',fontsize=18)for label, x, y in zip(rets.columns, rets.mean(), rets.std()):if label == '山西汾酒':xytext=(-50,-50)else:xytext=(50,50)plt.annotate(label, xy=(x, y), xytext=xytext, textcoords='offset points', ha='right', va='bottom', fontsize=15,arrowprops=dict(arrowstyle='->', color='gray', connectionstyle='arc3,rad=-0.3'))
b2a217b97259d28c8a0fb2cb82781a44.png

贵州茅台收盘价预测

# 获取股票报价
df = maotai.loc[:,['open','high','low','close','volume']]
df.head()
5e06bf7aee0e91507fc5775ac2b42d77.png

可视化收盘价

plt.figure(figsize=(16,6))
plt.title('历史收盘价',fontsize=20)
plt.plot(df['close'])
plt.xlabel('日期', fontsize=18)
plt.ylabel('收盘价 RMB (¥)', fontsize=18)
plt.show()
c9352905145683efd53d5cd88c8cf8be.png
# 创建一个只有收盘价的新数据帧
data = df.filter(['close'])
# 将数据帧转换为numpy数组
dataset = data.values
# 获取要对模型进行训练的行数
training_data_len = int(np.ceil( len(dataset) * .95 ))
# 数据标准化
from sklearn.preprocessing import MinMaxScaler
scaler = MinMaxScaler(feature_range=(0,1))
scaled_data = scaler.fit_transform(dataset)
# 创建训练集,训练标准化训练集
train_data = scaled_data[0:int(training_data_len), :]
# 将数据拆分为x_train和y_train数据集
x_train = []
y_train = []
for i in range(60, len(train_data)):x_train.append(train_data[i-60:i, 0])y_train.append(train_data[i, 0])if i<= 61:print(x_train)print(y_train)     
# 将x_train和y_train转换为numpy数组 
x_train, y_train = np.array(x_train), np.array(y_train)
# Reshape数据
x_train = np.reshape(x_train, (x_train.shape[0], x_train.shape[1], 1))

使用LSTM模型预测股价。

# pip install keras
from keras.models import Sequential
from keras.layers import Dense, LSTM
# 建立LSTM模型
model = Sequential()
model.add(LSTM(128, return_sequences=True, input_shape= (x_train.shape[1], 1)))
model.add(LSTM(64, return_sequences=False))
model.add(Dense(25))
model.add(Dense(1))
# 编译模型
model.compile(optimizer='adam', loss='mean_squared_error')
# 训练模型
model.fit(x_train, y_train, batch_size=1, epochs=1)
170/170 [==============] - 7s 25ms/step - loss: 0.0253
# 创建测试数据集
# 创建一个新的数组,包含从索引的缩放值
test_data = scaled_data[training_data_len - 60: , :]
# 创建数据集x_test和y_test
x_test = []
y_test = dataset[training_data_len:, :]
for i in range(60, len(test_data)):x_test.append(test_data[i-60:i, 0])    
# 将数据转换为numpy数组
x_test = np.array(x_test)
# 重塑的数据
x_test = np.reshape(x_test, (x_test.shape[0], x_test.shape[1], 1 ))
# 得到模型的预测值 
predictions = model.predict(x_test)
predictions = scaler.inverse_transform(predictions)
# 得到均方根误差(RMSE)
rmse = np.sqrt(np.mean(((predictions - y_test) ** 2)))

将训练数据、实际数据集预测数据可视化。

train = data[:training_data_len]
valid = data[training_data_len:]
valid['Predictions'] = predictions
plt.figure(figsize=(16,6))
plt.title('模型')
plt.xlabel('日期', fontsize=18)
plt.ylabel('收盘价 RMB (¥)', fontsize=18)
plt.plot(train['close'])
plt.plot(valid[['close', 'Predictions']])
plt.legend(['训练价格', '实际价格', '预测价格'], loc='lower right')
plt.show()
3fabfc006e9aacd0fa7c62d183cea41b.png

显示有效和预测的价格。

valid
efac8b317e308732ea26a3b19ca10627.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/8635.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

股票分析,利用线性回归实时预测股价,只需要提供股票代码即可爬取相应股票数据并建模

这里参考了别人的代码&#xff0c;并引用了tushare模块中定义的接口自动获取了依据 股票代码来获取数据 此篇文章提供了 1.一个简单通过接口爬取csv数据的方法 2.一个处理csv数据的简单方法 3.依据数据进行特征提取建立简单的股价预测模型 如下&#xff1a; 使用的话只需要修改…

大幅提升预测性能,将NSTransformer用于股价预测

写在前面 NSTransformer模型来自NIPS 2022的一篇paper《Non-stationary Transformers: Exploring the Stationarity in Time Series Forecasting》。NSTransformer的目的主要是为了解决其他方法出现过平稳化处理的问题。其通过提出序列平稳化以及去平稳化注意力机制可以使得模型…

利用神经网络实现股票预测 | 附Pyhon代码

神经网络&#xff08;NeuralNetworks&#xff09;是一种用训练数据拟合目标函数的黑箱模型&#xff0c;只要数据量足够大&#xff0c;它可以拟合出输入到输出之间的任意函数关系。 本篇教程我们将使用神经网络进行股市的预测&#xff0c;利用数据样本学习&#xff0c;得到相关因…

基于LSTM进行股票趋势预测(tushare)

注&#xff1a; 本文章仅用于算法&工具学习与使用&#xff0c;不具有任何投资建议。 前言&#xff1a; 笔者最近在研究时序趋势预测&#xff0c;而股票天然具有时序性&#xff0c;故使用某一股票数据进行学习。下面将使用代码预测一只股票的每日最高价&#xff0c;当然也可…

Python预测股票走势

最新代码&#xff1a;股票预测配套代码(jupyter版)-机器学习文档类资源-CSDN下载 视频&#xff1a;基于python进行股票趋势预测_哔哩哔哩_bilibili Python的功能可谓相当强大&#xff0c;在很多行业具有相当的优势&#xff0c;这种优势很大程度上来源于各种第三方库。本文介绍…

使用python对股票数据分析预测

安装quandl 安装Pandas_Datareader 1、获取数据 import Pandas_Datareader.data as web import datetime startdatetime.datetime(2018,1,1) enddatetime.datetime.now() SZ000001web.DataReader(000001.SZ,yahoo,start,end) 可以获取最高价&#xff0c;最低价&#xf…

使用新闻预测股票走势-----Kaggle经典ph.D操作分析

General information Two Sigma金融新闻竞赛是一项独特的竞赛&#xff1a;不仅仅是内核竞争&#xff0c;而且我们不应该下载数据&#xff0c;在第二阶段&#xff0c;我们的解决方案将用于预测未来的真实数据。 我将尝试为本次比赛进行广泛的EDA&#xff0c;并尝试找到一些有关…

tushare单个股票过去五年的数据整理与预测

文章目录 前言&#xff1a;1. 导入相关包2. 数据预处理3. 构建模型3. 模型训练4. 检查数据6. 工作中其他常用包记录 前言&#xff1a; %md 在量化投资中&#xff0c;计算收益率是更常见的做法&#xff0c;而不是仅计算股价。计算收益率可以更好地反映投资的回报情况&#xff0c…

使用chatSonic代替chatGPT实现代码智能编写与应答

WriteSonic地址 WriteSonic—其中&#xff0c;提供chatSonic功能app. 注册 使用google账户登录即可. 界面 登录后的界面](https://img-blog.csdnimg.cn/bff0283f8b5f43dd8483caef62784b37.png) 使用 点击上图中的chatSonic链接. 问答窗口 测试智能编码 在文本框中输入…

有了ChatGPT 微软对元宇宙不香了?

押注ChatGPT是微软最近的主要发力点&#xff0c;另一边&#xff0c;它开始向元宇宙业务挥出裁员“大刀”。海外消息称&#xff0c;微软解散了成立仅四个月的工业元宇宙团队&#xff0c;约100名员工被全被解雇。 这只是微软放缓元宇宙战略的长尾动作&#xff0c;此前&#xff0…

ChatGPT 之父推出加密货币钱包;Intel 被曝预算砍掉 10%、裁员 20%;Firefox 113 发布|极客头条...

「极客头条」—— 技术人员的新闻圈&#xff01; CSDN 的读者朋友们早上好哇&#xff0c;「极客头条」来啦&#xff0c;快来看今天都有哪些值得我们技术人关注的重要新闻吧。 整理 | 梦依丹 出品 | CSDN&#xff08;ID&#xff1a;CSDNnews&#xff09; 一分钟速览新闻点&#…

阿里版ChatGPT突然上线邀测!大模型热战正剧开始,这是第一手体验实录

阿里正式加入ChatGPT战局&#xff01; 就在刚刚&#xff0c;阿里版类ChatGPT突然官宣正式对外开放企业邀测。 它叫通义千问&#xff0c;由达摩院开发。 嗯&#xff0c;是大模型版十万个为什么那个味儿了。 事实上&#xff0c;早在这个月初&#xff0c;就传出过不少阿里要推出…

python 调试大法

说在前面 我觉得没有什么错误是调试器无法解决的&#xff0c;如果没有&#xff0c;那我再说一遍&#xff0c;如果有&#xff0c;那当我没说 一、抛出异常 可以通过 raise 语句抛出异常&#xff0c;使程序在我们已经知道的缺陷处停下&#xff0c;并进入到 except 语句 raise…

获得北大新材料学院夏令营offer的艰险历程(附面试答辩PPT)

知乎原文获得北大新材料学院夏令营offer的艰难历程(附面试答辩PPT) - 知乎 视频版 05:27 获得北大新材料学院夏令营offer的艰险历程 科大云炬 的视频 698 播放 文字版 相继6月15日以来北大、清华、浙大、西交、复旦、大连理工等10几个夏令营被拒后&#xff0c;我被打击得渐…

概率图模型 - 学习笔记

文章目录 教材与公开课视频概率图模型例子如何理解BP算法&#xff1f;概率图模型相比有监督学习的优势 教材与公开课视频 国外经典教材 英文版&#xff1a;Probabilistic Graphical Models: Principles and Techniques中文版&#xff1a;《概率图模型&#xff1a;原理与技术》…

从文本创建艺术,AI图像生成器的数据集是如何构建的

AIGC系列分享是整数智能推出的一个全新分享系列&#xff0c;在这个系列中&#xff0c;我们将介绍与AIGC概念相关的有趣内容。AIGC系列主要分为以下几篇文章&#xff1a; 被称为下一代风口的AIGC到底是什么&#xff1f; AIGC的数据集构建方案分享系列 从文本创建艺术&#xff0c…

【軟體架構師如何煉成?硬功夫軟技能點滿技能樹】

軟體架構師如何煉成&#xff1f;硬功夫軟技能點滿技能樹 協助企業資訊系統轉型&#xff0c;架構師擔任關鍵角色如何成為軟體架構師技術領域硬技能職場領域軟技能結語 協助企業資訊系統轉型&#xff0c;架構師擔任關鍵角色 「人無遠慮&#xff0c;必有近憂」&#xff0c;套用到…

巧用提示语,说说话就能做个聊天机器人

你好&#xff0c;我是徐文浩。 这一讲&#xff0c;我们来看看Open AI提供的Completion这个API接口。相信已经有不少人试过和ChatGPT聊天了&#xff0c;也有过非常惊艳的体验&#xff0c;特别是让ChatGPT帮我们写各种材料。那么&#xff0c;我们不妨也从这样一个需求开始吧。 …

量化选股——基于动量因子的行业风格轮动策略(第1部分—因子测算)

文章目录 动量因子与行业轮动概述动量因子的理解投资视角下的行业轮动现象投资者视角与奈特不确定性 动量因子在行业风格上的效果测算动量因子效果测算流程概述1. 行业选择&#xff1a;申万一级行业2. 动量因子选择&#xff1a;阿隆指标&#xff08;Aroon&#xff09;3. 测算方…

苹果微软等科技巨头紧急叫停,chatgpt翻车了?(文末附联名信)

一、千名大佬集体叫停GPT研发 3月29日&#xff0c;一封联名信刷爆了各大媒体热榜&#xff0c;上面有一千多位大佬签名&#xff0c;其中包括埃隆马斯克、约书亚本吉奥&#xff08;Yoshua Bengio&#xff0c;2018年图灵奖获得者&#xff09;和史蒂夫沃兹尼亚克&#xff08;Steve…