4. 设计

  • 创建一个可以记录买入,卖出的量化模拟交易的 Python 软件.

  • 目前没有找到相关的库和包,所以一切都是从零开始学习,包括基金的一些基础知识.

4.1. 数据库关系建模

  • Fund

    • 基金值-时间

  • Trace

    • 操作-时间

    • 操作有买入,卖出

    • 时间,操作类型,操作量(金额,股份数)

    • 操作的键是时间 + 操作类型:

      • 这里隐含的假设是,每天只能买入一次,或者卖出一次.

  • Gain

    • 收益-操作(Trace)

    • 每次操作都会更新收益值

    • 增加 减少 不变

  • Account

    • 账户用于绑定基金,钱包和操作

    • 操作在账户上进行

  • Wallet: 投资的观察差窗口

    • 每个用户只能有一个钱包,用于个人总投资的计算

    • 有初始金额

  • Fee: 用于基金的手续费计算

    • 申购费: 一般固定

    • 卖出费用: 一般随时间变化

4.2. 数据库实现

  • 本仓库个人使用,因此数据量比较少,因此采用简单的文本表示数据.

  • 基本确定为 pandas + csv.

  • 配置文件使用 yaml.

4.3. 基金分析

4.3.1. 相似度分析

4.3.1.1. 基于序列特征

4.3.1.2. 基于统计

4.4. 人工智能时序预测

4.5. Updates

4.5.1. 未来工作

  • [ ] 基础的可交互性

  • [ ] 基于强化学习的交易策略

  • [ ] 引入 AI 时序预测

  • [ ] 较为全面的投资策略

  • [ ] 设定盈利率,根据盈利率建议卖出数量

4.5.2. 2022-11-10

  • 修复 bug: 最新空数据输入错误

4.5.3. 2022-10-22

  • Prophet 时序预测,看起来就不准。

    • 可能预测太难了

4.5.4. 2022-10-21

  • 总投资报告: track/reports/finance.txt

4.5.5. 2022-10-18

  • 卖出的池子的计算优化: 按低值出售的池子 可以帮助决策卖出多少股票

    • 一般来说,优先卖出池子里最旧的股票。

    • 但是我们也给出了,优先卖出池子里价值最低的股票的结果报告。

4.5.6. 2022-10-15

  • Friendly README and Docs

    • 增加 sphinx 的功能

4.5.7. 2022-10-13

  • Config the buy fee rate

    • 已经通过 天天基金 的校准

4.5.8. 2022-10-12

  • Read the Docs

  • Badges for docs and stars

4.5.9. 2022-10-11

  • 改善命令框提示(增加日期指示)

  • 修复追踪 Pandas 索引错误

4.5.10. 2022-10-10

  • 尝试了 kats,出现了许多的 bug,因此放弃。

  • 转用 gitstar 15k 的 prophet

  • 先学习一周 prophet

4.5.11. 2022-10-9

  • 完成基本系统,优化代码

    • 信息收集系统

    • 基金分析系统

    • 基金跟踪系统

4.5.12. 2022-10-7

  • 加入日志系统

  • 数据库建模 1/3

4.5.13. 2022-10-5

  • 能够爬取基金并分析相关的基金的信息.

  • 基金买入以及止盈的策略学习, 写入 latex.

4.5.14. 2022-9-21

  • 创建仓库,完成基本测试

4.6. Debugs

  • 中文字体修复: bin/fix_matplotlib.py