# python期末作业
#### 介绍
python期末作业:量化回测项目
### 使用说明
1. 文件存放位置:为确保代码正常运行,量化回测-backtesting.jpynb文件应放入期末作业题文件夹内部,即与SampleTarget数据处于同一层目录
2. 回测框架可以同时满足三个SampleTarget的计算要求,且考虑了目标持仓为nan时根据市场行情计算实际持仓的情况
### 回测思路
1. 首先定义了函数daily_data:输入为期货品种的名称即需要的其他数据,输出为对应品种每日pnl、pnlnet和turnover的时间序列数据
daily_data函数可以同时满足三个SampleTarget的计算要求,且考虑了目标持仓为nan时根据市场行情计算实际持仓的情况
2. 对于所有期货品种调用daily_data函数进行计算,结果汇总进三个df中:df_pnl,df_pnlnet和df_turnover其中列名为期货品种名称
3. 根据三个df中df_pnl,df_pnlnet和df_turnover计算策略整体的总收益曲线,以及计算sharpratio等指标
### 其他
1. 避免循环的方式:使用apply函数
2. 换手率计算时,换手金额取了绝对值
3. AvgLeverage接近0的原因:同一时间内有多头有空头,相加会有所抵消
没有合适的资源?快使用搜索试试~ 我知道了~
python期末作业:量化回测项目源码+课程设计报告.zip
共3个文件
md:1个
ipynb:1个
docx:1个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
5星 · 超过95%的资源 4 下载量 146 浏览量
2023-01-10
17:36:27
上传
评论 3
收藏 364KB ZIP 举报
温馨提示
python期末作业:量化回测项目源码+课程设计报告.zip 思路: 1. 首先定义函数daily_data:输入为期货品种的名称以及需要的其他数据,输出为对应品种每日pnl、pnlnet和turnover的时间序列数据: daily_data函数可以同时满足三个SampleTarget的计算要求 daily_data函数考虑了目标持仓为nan时根据市场行情计算实际持仓的情况 编写daily_data的代码思路为: 1) 在1m数据中提取对应品种的ft文件,在其中提取每日收盘价以及sampletarget中交易时点timestamp时的clz价格(可以用merge避免循环查找筛选) 2) 每日损益由两部分构成:每日开盘到交易时点仓位依据市场行情变化的损益和交易时点持仓修改之后到收盘投资组合依据市场行情变化的损益,由此可以计算得到每日损益pnl的时间序列数据 3) 在交易时点进行交易时可以计算需要调整的仓位金额,结合已经得到的每日pnl、以及交易手续费,可以计算出每日换手和每日净损益的时间序列数据 4) 输出结果 2. 对于所有期货品种调用daily_data函数进行计算,结果汇总进三个
资源推荐
资源详情
资源评论
收起资源包目录
python期末作业:量化回测项目 (1).zip (3个子文件)
python-final-assignment-master
量化回测-backtesting.ipynb 53KB
2201210645-茹馨乐- Python课程报告.docx 346KB
README.md 1KB
共 3 条
- 1
资源评论
- weixin_535522702023-06-28非常有用的资源,有一定的参考价值,受益匪浅,值得下载。
- m0_747982042023-04-09感谢大佬分享的资源给了我灵感,果断支持!感谢分享~
- 私享浪漫2023-06-19资源使用价值高,内容详实,给了我很多新想法,感谢大佬分享~
- m0_539354552023-04-30感谢大佬分享的资源,对我启发很大,给了我新的灵感。
猰貐的新时代
- 粉丝: 1w+
- 资源: 2585
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功