{"id":30193250,"url":"https://github.com/chenking2020/zeroshot-astock-predict","last_synced_at":"2025-08-13T01:54:26.691Z","repository":{"id":303444583,"uuid":"1014239479","full_name":"chenking2020/zeroshot-astock-predict","owner":"chenking2020","description":"汇集ARIMA、时序大模型、视觉大模型等主流或前沿零样本无训练股价预测算法，并在实际数据测试对比下，寻找适合A股的最佳预测模型","archived":false,"fork":false,"pushed_at":"2025-07-07T16:27:57.000Z","size":6,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-07-07T17:45:20.975Z","etag":null,"topics":["arima","chronos","predict","qwen2-5-vl","stock","vllm","zeroshot"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/chenking2020.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-07-05T10:17:37.000Z","updated_at":"2025-07-07T16:28:00.000Z","dependencies_parsed_at":"2025-07-07T17:45:22.312Z","dependency_job_id":"68db18ff-1962-44b7-b152-6b9bb59313a7","html_url":"https://github.com/chenking2020/zeroshot-astock-predict","commit_stats":null,"previous_names":["chenking2020/zeroshot-astock-predict"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/chenking2020/zeroshot-astock-predict","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chenking2020%2Fzeroshot-astock-predict","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chenking2020%2Fzeroshot-astock-predict/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chenking2020%2Fzeroshot-astock-predict/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chenking2020%2Fzeroshot-astock-predict/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/chenking2020","download_url":"https://codeload.github.com/chenking2020/zeroshot-astock-predict/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chenking2020%2Fzeroshot-astock-predict/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":270166098,"owners_count":24538444,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-12T02:00:09.011Z","response_time":80,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["arima","chronos","predict","qwen2-5-vl","stock","vllm","zeroshot"],"created_at":"2025-08-13T01:54:25.033Z","updated_at":"2025-08-13T01:54:26.667Z","avatar_url":"https://github.com/chenking2020.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# zeroshot-astock-predict\n汇集ARIMA、时序大模型、视觉大模型等主流或前沿零样本无训练股价预测算法，并在实际数据测试对比下，寻找适合A股的最佳预测模型\n\n## 快速开始\n\n**1. 拉取代码**\n\ngit clone本开源代码\n\n**2. 安装Python依赖包**\n\n```bash\npip install -i https://pypi.tuna.tsinghua.edu.cn/simple/  -r requirements.txt\n```\n**3. 下载模型**\n\n如果使用chronos_bolt_model模型去预测，则需要下载原始模型文件，下载后的文件夹存放在models中，即models/chronos-bolt-base，现在地址在HuggingFace中的[chronos-bolt-base](https://huggingface.co/amazon/chronos-bolt-base)\n\n**4. 执行预测**\n\n```bash\npython predict.py -code cn_600517 -data_file_path /path/cn_600517.csv -module_name chronos_bolt_model\n```\n\n其中，\n\ncode为股票代码，如果普通个股，为cn_+普通数字股票代码，如cn_600517；如果是获取指数，zs_000001代表上证、zs_399001代表深证、zs_399006代表创业板、zs_000680代表科创板。如果如果不传入该参数，默认为上证指数zs_000001\n\ndata_file_path为股票历史数据所在的文件绝对路径，默认为本开源代码提供的测试样例\n\nmodule_name预测模型名称，默认为arima，具体支持模型见下面说明\n\n如果没有数据，本开源项目提供股票数据获取脚本\n\n```bash\npython stock_hisdata_get.py -code cn_600517 -start_time_str 20240601 -end_time_str 20250701\n```\n\n其中，code上述已说明，start_time_str和end_time_str分别为开始时间和结束时间。\n\n## 支持模型\n\n**1. arima**\n\nARIMA（Autoregressive Integrated Moving Average）是一种广泛应用于时间序列预测的统计模型，其基本原理结合了自回归（AR）、差分（I）和移动平均（MA）三个核心概念。自回归（AR）部分通过历史观测值的线性组合来捕捉序列的自相关性；差分（I）处理非平稳性问题，通过对原始序列进行差分转换使其变为平稳序列；移动平均（MA）则利用过去预测误差的线性组合来提高预测精度。ARIMA 模型的参数 (p,d,q) 分别对应自回归阶数、差分阶数和移动平均阶数，通过这三个参数的合理选择，模型能够适应不同特性的时间序列数据，从而实现对未来值的有效预测。\n\np,d,q值的确认，由于股票数据为非平均，因此差分阶数d选取1，其他p、q值采用搜索评价取最优，经过对比当p、q值为6时，效果最好。各值评价结果如下：\n\np| q |  RMSE\n-|-|-|\n0 | 0 | 14.61\n1 | 0 | 14.68\n0 | 1 | 14.68\n1 | 1 | 14.66\n2 | 2 | 14.15\n3 | 3 | 14.03\n4 | 4 | 16.28\n5 | 5 | 13.64\n**6** | **6** | **11.64**\n7 | 7 | 14.18\n8 | 8 | 13.57\n9 | 9 | 14.48\n\n**2. chronos_bolt_model**\n\nChronos-Bolt-Base 是基于 T5 架构的时间序列预测模型。它在近 1000 亿个时间序列观测数据上进行训练，通过将历史时间序列上下文分块输入编码器，解码器直接生成分位数预测，相比原始 Chronos 模型快 250 倍，内存效率高 20 倍。该模型零样本预测能力出色，在 27 个数据集上优于常用统计模型和深度学习模型，且预测精度比原始 Chronos（Large）模型更高。\n\n本开源项目提供零样本训练好的模型，可以直接使用预测，由于零样本训练只是推导时间频率和暂存模型，因此可以不用进行零样本训练，如果想要尝试，准备好训练文件数据，文件和预测文件格式一致，放在data/chronos-bolt-traindata下，执行如下命令：\n\n```bash\npython chronos_bolt_model.py\n```\n如果有算力的小伙伴想要微调，可以将如下代码块中的注释拿掉，并调整参数，一般情况下经过微调的效果更佳。\n\n```bash\npredictor = TimeSeriesPredictor(\n        prediction_length=predict_days,\n        log_to_file=False,\n        freq=\"D\",\n        path=os.path.join(BASE_DIR, \"models/chronos-bolt-ftbase\"),\n    ).fit(\n        traindf,\n        hyperparameters={\n            \"Chronos\": {\n                \"model_path\": os.path.join(BASE_DIR, \"models/chronos-bolt-base\"),\n                # \"fine_tune\": True,\n                # \"fine_tune_batch_size\": 32,\n                # \"fine_tune_steps\": 5000,\n            },\n        },\n    )\n```\n\n## 模型效果评测对比\n\n模型评测集选取包括主要指数和典型的个股一共225个数据，涵盖不同行业、市值和市盈率，评测指标有：\n\n**RMSE：Root Mean Squared Error，均方根误差，是衡量预测值与实际值之间差异的常用指标，计算方式是均方误差（MSE）的平方根，其值越小表示模型预测精度越高。**\n\n**趋势准确率ACC：预测整体的涨跌趋势，结果一共有涨或跌两种，涨或跌的判断用线性回归拟合后的斜率来判断**\n\n**评测结果如下（按照RMSE升序排列）**\n\n模型名称| RMSE |  趋势准确率ACC\n-|-|-|\nARIMA | 11.64  | 待评测\nchronos_bolt_model | 15.24 | 待评测\n\n\n## Star历史\n\n[![Star History Chart](https://api.star-history.com/svg?repos=chenking2020/zeroshot-astock-predict\u0026type=Date)](https://star-history.com/#chenking2020/zeroshot-astock-predict\u0026Date)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchenking2020%2Fzeroshot-astock-predict","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fchenking2020%2Fzeroshot-astock-predict","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchenking2020%2Fzeroshot-astock-predict/lists"}