简体中文 | English
此程序是一个模拟股票交易的 Python 脚本,其核心功能在于模拟多轮股票交易过程,对股票价格的动态变化进行模拟,同时模拟投资者的买卖操作。在模拟结束后,程序会对投资组合的收益情况进行评估,并将每只股票的价格历史以图表和 JSON 文件的形式保存下来。
- 股票价格模拟:充分考虑宏观经济因素、行业趋势因素、新闻事件因素以及随机波动等多种因素,对股票价格的变化进行模拟。
- 交易策略模拟:采用简单移动平均线(SMA)和相对强弱指数(RSI)这两种技术分析指标,来制定买卖决策。
- 收益评估:模拟结束后,会详细计算投资组合的初始价值、最终价值、收益以及投资回报率。
- 结果保存:将每只股票的价格历史绘制成图表,并保存为 PNG 文件,同时将价格数据保存为 JSON 文件。
本程序依赖 matplotlib 库来绘制图表,你可以使用以下命令进行安装:
pip install matplotlib在命令行中运行以下命令来启动模拟程序:
python stock_trading_simulation.py --rounds <交易轮数> --iterations <迭代次数><交易轮数>:指每一次迭代中进行的自动交易轮数。<迭代次数>:表示整个模拟过程重复的次数。
python stock_trading_simulation.py --rounds 10 --iterations 5上述命令会进行 5 次迭代,每次迭代包含 10 轮自动交易。
Stock:代表一只股票,具备更新价格、计算 SMA 和 RSI 等功能。Portfolio:代表投资者的投资组合,包含买入、卖出股票以及计算投资组合价值等功能。
generate_macro_economy_factor:生成宏观经济因素的随机值。generate_industry_trend_factor:生成行业趋势因素的随机值。generate_news_event_factor:生成新闻事件因素的随机值。plot_price_history:绘制并保存股票价格历史图表和 JSON 文件。should_buy:依据 SMA 和 RSI 指标判断是否应该买入股票。calculate_buy_quantity:计算可买入的股票数量。main:程序的主函数,负责初始化股票和投资组合,控制模拟过程并输出结果。
模拟结束后,每只股票的价格历史图表和 JSON 文件会保存在以股票名称命名的文件夹中。你可以通过查看这些文件来分析股票价格的变化和投资组合的表现。
- 本程序只是一个简单的模拟,实际的股票市场要复杂得多。
- 模拟结果可能会受到随机因素的影响,不同的运行结果可能会有所不同。
如果你发现了程序中的问题或者有改进的建议,欢迎提交 Issue 或者 Pull Request。