Features • Installation • Usage • Todo • Contribute • Community • License
非专业养鸡场:hatching_chick::hatched_chick::baby_chick:,统计购买和卖出操作,分析持仓和收益,爬取基金净值,使用各种定投算法回测分析,生成投资策略。所有功能一键式全自动完成 :chart_with_upwards_trend::chart_with_upwards_trend::chart_with_upwards_trend:
- 推荐 阿里云,一年19.9,阿里云打:moneybag:
- 数据库 db_fund 使用sql文件整库建表
- 数据库 db_netvalue 库名保持一致,无需建表
- 数据库 db_backtest 库名保持一致,无需建表
将 配置表(farmConfig.json) 移动到项目目录外,按照注释填写配置表。该表涉及账号密码,请勿提交此表!!!
echo "export PYTHONPATH=$PYTHONPATH:<项目所在的父目录>" >> ~/.bash_profile
echo "export FARM_CONFIG_PATH=<配置表(farmConfig.json)路径>" >> ~/.bash_profile
echo "export OPERATION_KEY=<操作key, 与配置表中保持一致>" >> ~/.bash_profile
source ~/.bash_profile
python3 -m pip install -r requirements.txt
- 需要研究一个基金时,需添加
python3 cli/chick.py -add -c <code>
- 将支付宝的基金最新净值填入 position.csv 中
vim ~/Desktop/position.csv
- 执行基础任务
python3 cli/chick.py -job base_job
- 执行回测分析任务
python3 cli/chick.py -job backtest_job
python3 cli/chick.py
command | help |
---|---|
-add -c code |
添加基金 |
-delete -c code |
删除基金 |
-buy -c code -a amount |
买入基金 |
-sell -c code -a amount |
卖出基金 |
-position -c code -a amount |
更新单个基金的持仓 |
-show | 展示指定领域基金数据 |
-show -c code |
展示指定基金数据 |
-record-op | 从天天基金获取数据,将本周的操作更新至数据库中 |
-position-auto | 从天天基金获取持仓数据,更新至数据库中 |
command | help |
---|---|
-record-history | 统计并记录各个领域以及总的投入、持仓、收益历史 |
-tables | 导出基金最新数据总表、每个领域合计表、历史购买表、历史仓位表、历史收益表 |
-charts | 绘制个人数据图表 |
command | help |
---|---|
-netvalue | 更新基金历史净值数据 |
-backtest | 回测,并将回测数据上传 |
-backtest-plots | 绘制各领域基金回测的小提琴图 |
python3 cli/chick.py -job base_job
- 更新本周的操作记录,
- 更新本周所有基金的持仓
- 统计并记录本周各个领域的投入、持仓、收益
- 导出个人数据统计表
- 导出个人数据统计图
- 把基金的历史净值上传至 db_netvalue 数据库中
python3 cli/chick.py -job backtest_job
- 更新回测分析数据
- 导出回测分析图表
- 各领域最新持仓图
- 各领域持仓占比图
- 各领域最新收益图
- 各领域最新收益率图
- 各领域最新持仓 & 收益图
当前已实现最简单的定投分析方法:选择一周中的固定一天(周一至周五),每周以固定的资金进行买入,在近半年、近一年、近三年的时间跨度进行定投回测,回测结果绘制出小提琴图。
- 每一行,为一个基金的180天、365天、1095天区间的回测分析
- 每一列,为一类基金的相同天数回测分析,可判断不同基金的定投收益
- 子图为一周五天的小提琴图,中间横线为中位数,上、下端横线为极值,可分析选择周内的哪一天定投收益高
- 小提琴图中宽的地方为概率密度大的地方,也就是多数样本分布的地方,也就是最有可能获得的收益率
注:定投的起点,也就是开始定投的日子对最终的收益有很大的影响。所以,并没有直接用距今天180天前的那一天开始算单一结果,而是取距今天180天前那一天的「附近区间的多个起点」,统计出多个样本来绘制小提琴图。
例:白酒和半导体的一些基金回测分析
本项目计划大规模重构,预计2022年三季度完成。后端采用 1 + n 的「微服务」形式,前端以「微信小程序」的形式呈现。
支持目标止盈、移动止盈等「传统投资算法」,以及一些简易的「自研投资算法」借鉴牛顿运动定律和牛顿迭代法等等,并能够给出「卖出时机」
- 核心服务 + 后台:用
Golang
Vue
Js
实现 - 数据采集组件:基金信息和净值数据用
Python
爬取 - 回测分析组件:用
C++
实现投资算法 - 有限参考 Deep Reinforcement Learning for Quantitative Finance
Contributions are always welcome! Please read the contribution guidelines.:relaxed:
Copyright © 2021 Do Walle. All rights reserved.