Skip to content

zhaohaixu/ST-Gen

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 

Repository files navigation

简体中文 | English

股票交易模拟程序

简介

此程序是一个模拟股票交易的 Python 脚本,其核心功能在于模拟多轮股票交易过程,对股票价格的动态变化进行模拟,同时模拟投资者的买卖操作。在模拟结束后,程序会对投资组合的收益情况进行评估,并将每只股票的价格历史以图表和 JSON 文件的形式保存下来。

功能特性

  1. 股票价格模拟:充分考虑宏观经济因素、行业趋势因素、新闻事件因素以及随机波动等多种因素,对股票价格的变化进行模拟。
  2. 交易策略模拟:采用简单移动平均线(SMA)和相对强弱指数(RSI)这两种技术分析指标,来制定买卖决策。
  3. 收益评估:模拟结束后,会详细计算投资组合的初始价值、最终价值、收益以及投资回报率。
  4. 结果保存:将每只股票的价格历史绘制成图表,并保存为 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。

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages