分红到账自动再投入程序(股息自动等额申购原有标的)|教学级量化投资原型
内容包含免责声明和风险提示,不对接券商、不自动化交易、不推荐任何产品、无任何引流。
一、实际应用场景描述
在智能证券投资课程中,股息再投资(DRIP, Dividend Reinvestment Plan)是长期复利教学的核心内容。
本程序适用于:
- 高校量化投资、基金投资课程实验
- 个人投资者长期复利训练
- 分红策略自动化教学
- 投资纪律与规则化演示
核心目标:
- 检测分红到账金额
- 股息入账后自动等额申购原有标的
- 输出标准化再投资指令
- 强调人工执行,不自动下单
✅ 不连接券商系统
✅ 不执行真实交易
✅ 仅作为策略规则演示工具
二、痛点引入(真实可感知)
痛点 表现
分红闲置 现金躺在账户不动
忘记再投入 错过复利机会
手动操作繁琐 多标的管理麻烦
规则不一致 有时再投,有时不投
工具过重 专业系统门槛高
👉 需要一个轻量、本地、可解释、可复现的股息再投资工具
三、核心逻辑讲解(工程视角)
1️⃣ 数据模型设计
DividendEvent
├── symbol 股票/基金代码
├── dividend_amount 分红金额
├── nav 当前净值/价格
└── status 是否已再投资
2️⃣ 自动再投资规则(教学用)
分红到账 →
用分红金额 ÷ 当前净值 →
得到可申购份额 →
输出申购指令
3️⃣ 自动化流程
读取分红记录
遍历每个分红事件
计算申购份额
标记状态
输出再投资指令
4️⃣ 设计原则
- 只输出指令,不交易
- 规则透明
- 可人工覆盖
四、Python 模块化代码(可直接运行)
📁 项目结构
dividend_reinvestment_tool/
│
├── main.py
├── models.py
├── reinvestor.py
├── reporter.py
├── storage.py
├── README.md
└── DISCLAIMER.md
✅ models.py(数据建模)
"""
models.py
分红事件数据模型
"""
class DividendEvent:
def __init__(self, symbol, dividend_amount, nav):
self.symbol = symbol
self.dividend_amount = dividend_amount
self.nav = nav
self.status = "待再投资"
✅ reinvestor.py(再投资计算)
"""
reinvestor.py
股息自动再投资逻辑
"""
def calculate_reinvest(event):
shares = event.dividend_amount / event.nav
return {
"symbol": event.symbol,
"amount": event.dividend_amount,
"nav": event.nav,
"shares": round(shares, 2),
"status": "已生成再投资指令"
}
✅ reporter.py(指令输出)
"""
reporter.py
股息再投资指令输出
"""
def report(instructions):
print("\n【股息再投资指令】")
for ins in instructions:
print(
f"{ins['symbol']} | "
f"金额:{ins['amount']} | "
f"净值:{ins['nav']} | "
f"申购份额:{ins['shares']}"
)
✅ storage.py(本地存储)
"""
storage.py
JSON 本地存储
"""
import json
FILE_PATH = "dividend_reinvest_log.json"
def save_log(data):
with open(FILE_PATH, "w", encoding="utf-8") as f:
json.dump(data, f, ensure_ascii=False, indent=2)
✅ main.py(交互入口)
"""
main.py
分红自动再投入工具
"""
from models import DividendEvent
from reinvestor import calculate_reinvest
from reporter import report
from storage import save_log
def main():
print("=== 分红自动再投入工具(教学版) ===")
events = []
while True:
symbol = input("标的代码(空结束):")
if not symbol:
break
amount = float(input("分红金额:"))
nav = float(input("当前净值/价格:"))
events.append(DividendEvent(symbol, amount, nav))
instructions = [calculate_reinvest(e) for e in events]
report(instructions)
save_log(instructions)
print("✅ 再投资指令已保存")
if __name__ == "__main__":
main()
五、README 与使用说明
# 分红自动再投入工具(教学版)
## 项目说明
实现分红到账后自动等额申购原有标的的规则化演示工具。
## 使用方式
```bash
python main.py
```
## 适用范围
- 量化投资课程
- 长期投资与复利教学
- 分红策略实验
## 注意事项
- 不执行真实交易
- 不连接券商系统
- 使用前请阅读 DISCLAIMER.md
六、DISCLAIMER.md(免责声明与风险提示)
# 免责声明与风险提示
## 免责声明
本程序仅供**教学与科研用途**,用于演示股息再投资逻辑。
作者不提供任何投资建议,不推荐任何证券或基金,不承诺任何收益。
## 风险提示
1. 分红 ≠ 额外收益(价格会除权)
2. 再投资仍承担市场风险
3. 净值波动会影响份额价值
4. 实盘前请充分测试与验证
使用本工具产生的任何后果,作者概不负责。
七、核心知识点卡片(教学向)
分类 内容
Python 类、数学计算、流程控制
量化投资 股息再投资、复利效应
投资理念 长期持有、规则化执行
工程思想 策略与执行解耦
风险教育 工具 ≠ 收益保障
可扩展性 可接入真实分红数据
八、总结(工程师视角)
这是一个完全中立、去营销化、可教学的原型系统:
✅ 不鼓吹分红再投资
✅ 不神化复利
✅ 不伪装成智能投顾
它真正展示的是:
如何用 Python 把“模糊的长期投资经验”固化为可验证、可审计、可反思的规则系统
本文代码仅供学习与技术交流,不构成任何投资建议,股市有风险,入市需谨慎!
利用AI解决实际问题,如果你觉得这个工具好用,欢迎关注长安牧笛!