1. 准备数据:获取hs300股票2014/6/30到2021/6/30的的股票数据
2. 均线划分:以10天均值作为短线,60天均值作为长线,计算均价
3. 折线图可视化出沪深300股价和10天及60天均价
4. 策略开发:出现金叉时做多,出现死叉做空
5. 分别计算大盘和策略的累积收益,并可视化为折线图
简易版SMA策略复现(用tushare包)
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- CSDN专家-HGJ 2021-09-04 20:06关注
均价计算及折线作图仅可参考,至于策略开发,需根据每个交叉点前后两个均价的比较写个判断,采取不同的sell和buy不同交易方法。
import tushare as ts import pandas as pd df = ts.get_k_data('hs300', start='2014-06-30', end='2021-06-30') #df=pd.read_csv('hs300.csv') pd.set_option('max_rows',None) a10=[] a60=[] for i in range(len(df)): if i<=9: a10.append(df['close'][:i+1].mean()) else: a10.append(df['close'][i-10:i].mean()) if i<=59: a60.append(df['close'][:i+1].mean()) else: a60.append(df['close'][i-60:i].mean()) df['a10']=a10 df['a60']=a60 print(df.head(20)) m = 1000 rev0 = m * (df['close'].tolist()[-1]-df['close'].tolist()[0]) / \ df['close'].tolist()[0]-m#不采取交易策略下的收益 import matplotlib.pyplot as plt plt.plot(df['date'],df['a10'],label='ma10') plt.plot(df['date'], df['a60'], label='ma60') plt.legend() plt.show()
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决评论 打赏 举报无用 1
悬赏问题
- ¥20 基于MSP430f5529的MPU6050驱动,求出欧拉角
- ¥20 Java-Oj-桌布的计算
- ¥15 powerbuilder中的datawindow数据整合到新的DataWindow
- ¥20 有人知道这种图怎么画吗?
- ¥15 pyqt6如何引用qrc文件加载里面的的资源
- ¥15 安卓JNI项目使用lua上的问题
- ¥20 RL+GNN解决人员排班问题时梯度消失
- ¥60 要数控稳压电源测试数据
- ¥15 能帮我写下这个编程吗
- ¥15 ikuai客户端l2tp协议链接报终止15信号和无法将p.p.p6转换为我的l2tp线路