Python量化交易实战-31计算动量效应因子

Python量化交易实战-31计算动量效应因子,第1张

概述一、計算动量因子确定交易对象:股票池、考虑流动性(沪深300/创业板)选定业绩评价周期:过去1-12个月计算形成期的收益率:过去N个月的收益率对收益率进行排序:最佳-赢家组合、最差-输家组合确定持仓/换仓周期:1个月、可自定义测算连续或间隔一段时期,不断重复2-5步骤计算动量/反向策略 一、計算动量因子确定交易对象:股票池、考虑流动性(沪深300/创业板)选定业绩评价周期:过去1-12个月计算形成期的收益率:过去N个月的收益率对收益率进行排序:最佳-赢家组合、最差-输家组合确定持仓/换仓周期:1个月、可自定义测算连续或间隔一段时期,不断重复2-5步骤计算动量/反向策略各持有率的回报率计算t/p统计值,判断是否存在动量效应二、实战2.1所有股票收盘价的拼接

将所有个股的收盘价拼接到一张表,方便之后的计算和预览。

# 获取沪深300股票池def get_data(index_symbol = '000300.XSHG'):    #获取股票列表代码(沪深300、创业板、上证)    stocks =st.get_index_List(index_symbol=index_symbol)    #拼接收盘价数据    data_concat = pd.DataFrame()    #获取股票数据    for code in stocks[0:9]:        data = st.get_single_price(code, 'daily')        #取出收盘价这一列        res = pd.DataFrame(data,columns=['close'])        #修改收盘价这一列的名称为股票代码        res.columns = [code]        #拼接多个股票的收盘价(日期、股票A收盘价、股票B收盘价)        data_concat = pd.concat([data_concat, res],axis = 1)    #预览股票数据    print(data_concat.tail())

运行结果

到這裏,我们获取了股票的收盘价,并且全部拼接起来。

我们再将get_data函数优化一下:

# 获取沪深300股票池def get_data(start_date, end_date, index_symbol = '000300.XSHG'):    #获取股票列表代码(沪深300、创业板、上证)    stocks =st.get_index_List(index_symbol=index_symbol)    #拼接收盘价数据    data_concat = pd.DataFrame()    #获取股票数据    for code in stocks[0:9]:        data = st.get_single_price(code, 'daily', start_date=start_date, end_date=end_date)        #取出收盘价这一列        res = pd.DataFrame(data,columns=['close'])        #修改收盘价这一列的名称为股票代码        res.columns = [code]        #拼接多个股票的收盘价(日期、股票A收盘价、股票B收盘价)        data_concat = pd.concat([data_concat, res],axis = 1)	    #预览股票数据    return data_concat
2.2动量因子计算
# 动量策略def momentum(data_concat, shift_N = 1):    #转换时间频率:日转换为月    data_month = data_concat.resample('M').last()    print(data_month.head())    #计算过去N个月的收益率 = 期末值/期初值 -1    shift_return = data_month / data_month.shift(shift_N) -1    print(shift_return.head(10))    return shift_returnif __name__ == '__main__':    # 测试获取沪深300 前9个个股数据    data_concat = get_data('2020-01-01', '2021-04-01')    # 测试 动量策略    momentum(data_concat)

运行结果:

总结

以上是内存溢出为你收集整理的Python量化交易实战-31计算动量效应因子全部内容,希望文章能够帮你解决Python量化交易实战-31计算动量效应因子所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1159202.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-01
下一篇 2022-06-01

发表评论

登录后才能评论

评论列表(0条)

保存