|
|
b7478bf2ef
|
fix(datasource): 修正非A股指数前向填充逻辑
- 将前向填充范围扩大至所有非A股指数
- 说明所有市场(港股、美股、黄金、加密货币)在T+1日09:00前已收盘
- 保障数据针对多市场的时效性和完整性
|
2026-03-25 22:25:48 +08:00 |
|
|
|
c196e33648
|
fix(report): 修复调仓信号报告中ETF代码显示与表格布局
- 在调仓信号表格中添加ETF代码列,完善持仓数据展示
- 处理ETF代码缺失情况,显示为“直接交易”
- 调整表格列宽,优化整体排版宽度
- 完善调入和调出持仓部分的ETF信息获取逻辑
|
2026-03-25 22:16:04 +08:00 |
|
|
|
e6ddea518c
|
feat(report): 支持ETF净值和溢价率的绩效报告展示
- 在生成绩效报告接口中新增code_config、index_data、etf_price_data和etf_nav_data_raw参数
- 计算溢价率并基于信号前一日数据进行校验和计算
- 打印最新调仓信号时增加ETF代码、ETF净值、溢价率及高溢价警告显示
- 调整信号数据基准日期展示,更准确反映信号计算依据
- 报告图表支持显示ETF净值和溢价率列,完善调仓信息视觉效果
- 统一处理跨市场ETF映射和特殊市场(如加密货币)情况,避免溢价率误报
- 完善打印表格和图表的列宽和格式,增强可读性
|
2026-03-25 22:02:05 +08:00 |
|
|
|
ec749314bc
|
feat(data-source): 支持指数-ETF双轨数据获取及因子计算
- 新增使用Tushare获取A股ETF价格及净值数据的私有方法
- fetch_all方法支持接收完整代码配置,区分指数与ETF及市场类别
- 指数数据和ETF数据分别下载,ETF净值数据用于溢价率计算
- 采用A股交易日为主交易日历,非A股数据前向填充对齐
- 调整因子计算,支持指数价格计算因子,ETF价格计算收益率
- run_rotation脚本和RotationStrategy引擎适配指数-ETF配置格式
- 代码结构优化,增强多市场及加密货币处理能力
|
2026-03-25 22:01:44 +08:00 |
|
|
|
e6898a851c
|
feat(config): 优化ETF轮动策略配置
- 将候选池指数列表升级为包含名称、对应ETF代码及市场的详细映射结构
- 支持多市场ETF映射,包括A股、港股、美股、商品及加密货币市场
- 新增主市场配置及跨境ETF溢价控制机制,防止高溢价买入
- 溢价控制支持启用开关、不同市场阈值及降权模式
- 明确交易成本、缓存使用及交易日历设置,增强策略灵活性和稳定性
|
2026-03-25 22:01:22 +08:00 |
|
|
|
61362b274b
|
feat(rotation): 实现跨市场ETF映射与溢价控制方案
- 重新设计配置文件结构,支持指数到ETF的映射关系及市场类型区分
- 新增ETF数据获取模块,从Tushare获取A股ETF行情及净值
- 修改因子计算逻辑,基于指数数据计算因子,使用ETF数据计算收益率
- 重构轮动引擎,支持同时处理指数与ETF数据,动态检查ETF可用性
- 增加跨境ETF溢价控制机制,基于实时及历史溢价率过滤或降权持仓标的
- 持仓和报告模块显示ETF代码及跨境溢价率信息,提升实际操作参考价值
- 更新配置解析,构建代码-名称、代码-ETF和代码-市场映射关系
- 采用A股交易日历对齐多市场数据,确保因子计算和信号生成时序准确
- 详细设计溢价率计算与信号调整策略,解决跨境市场时差及数据可用性问题
- 明确加密货币数据处理方案及休市期间数据填充策略,保证逻辑一致性与安全性
|
2026-03-25 22:01:07 +08:00 |
|
|
|
6454e6823f
|
fix(datasource): 修正混合数据源导入路径错误
- 修正 strategies.rotation.engine 中 hybrid_source 模块导入路径错误
- 新增 core.datasource 目录下多个数据源实现模块
- 增加 Akshare 数据源支持 A股指数数据拉取
- 实现数据缓存管理机制,支持本地数据缓存读写
- 新增 YFinance 数据源,支持通过 SSH 隧道访问美股和港股数据
- 实现混合数据源支持 A股/Tushare、港美股/YFinance、加密货币/CCXT 的统一访问
- 集成 SSH 隧道管理,支持 SOCKS5 转 HTTP 代理转发
- 新增 socks2http.py 代理转发工具,解决 CCXT 仅支持 HTTP 代理问题
- 修改 rotation.yaml 加密货币注释,明确使用 OKX 现货和 SSH->HTTP 代理访问
- 删除.gitignore中无用的 data/ 忽略规则,保留 test/ 文件夹忽略规则
|
2026-03-25 01:32:33 +08:00 |
|
|
|
c104fca693
|
refactor(docker): 移除Dockerfile中中文字体安装步骤
- 删除了fonts-wqy-zenhei字体的安装命令
- 精简了Dockerfile,减少了镜像体积
- 移除了无用的缓存清理命令相关代码
- 保持工作目录和依赖复制指令不变
|
2026-03-24 23:15:08 +08:00 |
|
|
|
89b7aa1f2c
|
chore(config): 添加黄金期货数据配置
- 在rotation策略配置中新增COMEX黄金期货代码"GC=F"
- 为黄金期货配置了对应的中文名称和注释
- 保持其他市场指数的结构和注释一致
|
2026-03-24 00:41:13 +08:00 |
|
|
|
e26db9767f
|
fix(docker): 优化中文字体安装及清理缓存
- 将中文字体从 wqy-microhei 改为 wqy-zenhei,提高字体兼容性
- 清理 matplotlib 缓存文件,减少镜像体积
- 更新报告图表中文字体设置,兼容 macOS 和 Linux
- 简化字体配置,避免多余字体加载
|
2026-03-24 00:41:03 +08:00 |
|
|
|
f6bead3c0f
|
chore(config): 添加项目环境变量配置文件
- 新增 .env 文件,包含 Tushare API、钉钉机器人、数据库和阿里云 OSS 的配置
- 修改 .gitignore,取消对 .env 文件的忽略,确保环境变量文件纳入版本管理
- 更新 .gitignore 注释,使文件规则更明确和易读
|
2026-03-20 19:01:44 +08:00 |
|
|
|
029b5e7f60
|
style(rotation): 优化报告图表字体设置
- 英文字体改为 DejaVu Sans,中文字体设置为文泉驿微米黑和文泉驿正黑
- 取消原有的 Times New Roman 字体设置,避免中文显示问题
- 保持负号正常显示,优化图表整体字体效果
|
2026-03-20 19:00:35 +08:00 |
|
|
|
ac00d29b69
|
docs(readme): 添加ETF轮动策略系统详细说明文档
- 增加系统整体架构设计图示,涵盖应用层、策略层、核心层及基础设施层
- 详细描述多市场数据支持,涵盖A股、港股、美股及加密货币数据源
- 介绍混合数据源配置示例,支持SSH隧道代理功能
- 说明定时调度系统的本地及Docker运行方法
- 详细描述自动报告通知功能,包括图表、信号及钉钉推送支持
- 列出项目结构目录及核心文件说明
- 提供快速开始指南,包括环境配置、本地运行及Docker部署步骤
- 附加策略配置rotation.yaml示例及技术栈说明
|
2026-03-19 23:13:38 +08:00 |
|
|
|
7cb89fa0e1
|
refactor(report): 优化报告中的字体和表头文本
- 将报告中表头 “品种名称” 修改为更精准的 “标的名称”
- 将报告图表的中文字体设置改为使用 Times New Roman 以统一字体样式
- 更新表格列标签中的对应文本,保持一致性
- 清理旧的字体配置,简化字体设置逻辑
|
2026-03-19 23:05:49 +08:00 |
|
|
|
d500090305
|
fix(scripts): 修正日报发送标题及文本内容
- 将发送图文消息的标题由“ETF轮动策略日报”改为“ETF轮动策略调仓日报”
- 调整发送图文消息中文本内容,去除默认提示
- 发送报告时不再传递固定摘要文本,改为传空字符串
- 修复了每日任务中报告发送的文本逻辑问题
|
2026-03-19 22:59:38 +08:00 |
|
|
|
144d66f9a3
|
fix(config): 修正加密货币名称为中文
- 将BTC对应名称由"BTC"修改为"比特币"
- 将ETH对应名称由"ETH"修改为"以太坊"
- 保持其他市场指数配置不变
|
2026-03-19 22:55:44 +08:00 |
|
|
|
fb2f814111
|
feat(docker): 优化镜像支持中文字体及调度运行模式
- 基础镜像中添加多款中文字体,支持中文显示
- 主镜像安装中文字体并设置上海时区环境变量
- Dockerfile中创建日志目录并修改默认启动命令为定时调用调度器脚本
- 构建脚本支持动态镜像名,自动构建基础镜像,完善运行容器示例
- docker-compose修改为仅启动调度器服务,挂载相关配置、密钥、数据和日志目录
- 依赖更新,丰富金融数据、技术分析、绘图、机器学习及环境变量支持库
- 调度脚本参数调整,支持立即运行并退出及非后台模式运行切换
- 报告绘图中优先使用基础镜像预装的中文字体配置,提高字体兼容性和显示效果
|
2026-03-19 22:53:06 +08:00 |
|
|
|
1b8eba8aff
|
chore(docker): 允许将 .env 文件打包进镜像
- 将 .env 文件从忽略列表中移除
- 注释说明容器化部署需要包含 .env 文件
- 保持 .env.local 及相关文件依旧被忽略
|
2026-03-19 22:52:21 +08:00 |
|
|
|
76feec6824
|
fix(scheduler): 修复格式和代码风格问题,调整默认执行时间
- 规范了代码中的字符串引号统一使用双引号
- 调整了部分代码的参数换行和缩进格式
- 在load_dotenv调用中添加了缺失的空行
- 优化了日志打印字符串内引号使用一致性
- 修改主函数默认执行时间由15:30调整为09:00
- 修正字典取值和列表拼接中的引号使用,避免潜在错误
- 规范函数定义参数列表的格式,提高代码可读性
|
2026-03-19 21:57:24 +08:00 |
|
|
|
8d24fb91eb
|
refactor(scheduler): 重构每日任务调度逻辑并优化配置路径
- 将等待目标时间逻辑改为基于schedule库的定时任务调度
- 支持后台守护进程模式持续执行定时任务
- 优化命令行参数说明,默认执行时间改为15:30
- 简化立即执行和循环运行的逻辑
- 修改SSH私钥路径为相对于项目根目录
- 更新rotation.yaml配置中指数及加密货币标签说明
- 回测开始日期由2022-01-01调整为2020-01-01
refactor(report): 优化轮动策略绩效报告图表与指标展示
- 新增策略与基准绩效指标对比表格,展示累计收益、年化收益等关键指标
- 调整绩效表布局,增加绩效指标面板高度,保持与信号表格一致视觉
- 丰富绘图函数参数,支持传入绩效指标字典避免重复计算
- 规范调仓信号表操作列索引及样式,保持统一字体大小和行高
- 净值曲线、回撤及持仓分布面板分离,调整图表索引和标题名称
- 优化持仓分布图显示,提升整体报告信息完整性与易读性
|
2026-03-19 21:56:17 +08:00 |
|
|
|
32831d7d6d
|
chore(env): 删除示例环境变量配置文件
- 移除了 .env.example 文件及其所有配置内容
- 删除了 Tushare API 的示例令牌配置
- 移除了钉钉机器人的示例 webhook 和 secret 配置
- 删除了 PostgreSQL 数据库的示例连接信息
- 简化项目环境变量管理,避免泄露敏感信息
|
2026-03-19 21:22:03 +08:00 |
|
|
|
098c13a006
|
feat(notification): 增加钉钉发送图片和文件功能,支持OSS图片上传
- 在DingTalkBot中添加发送图片消息(自动压缩)功能,支持大小限制自动处理
- 添加发送图文混合消息、发送文件消息接口,优化钉钉通知能力
- 实现发送本地图片链接和通过OSS上传图片再发送Markdown图文两种机制
- 新增阿里云OSS上传工具模块,支持文件和图片上传及预签名URL生成
- 创建每日任务调度脚本,实现每日交易日检查、策略执行、结果上传并通知
- 调整回测策略开始日期至2022年,适配最新数据范围
|
2026-03-19 21:21:52 +08:00 |
|
|
|
9ea84f0e57
|
feat(rotation): 支持混合数据源并优化因子计算和策略逻辑
- 删除旧的Tushare Token环境变量函数,简化配置
- 在配置文件中新增全市场指数及SSH隧道配置支持YFinance数据访问
- 更新compute_factors函数,支持长格式混合数据源,兼容旧宽格式数据
- 修改RotationStrategy使用HybridDataSource,支持Tushare与YFinance数据源混合
- 添加SSH隧道支持,实现安全访问非主市场数据
- 优化因子计算逻辑,提升缺失值处理和因子合并的鲁棒性
- 修正基准净值计算,兼容长宽格式基准数据处理
- 增强信号生成逻辑,处理因子得分中的NaN情况防止异常
|
2026-03-19 20:38:13 +08:00 |
|
|
|
062f500369
|
refactor(rotation): 统一与配置文件代码映射和基准指数使用方式
- 将默认代码映射字典和基准指数改为可被策略配置覆盖的形式
- 修改配置文件rotation.yaml中候选池配置从列表变为代码与名称的字典映射
- 在运行脚本中加载配置时支持字典格式的code_list和benchmark,兼容旧格式列表
- 更新回测策略引擎通过配置动态获取基准指数代码
- 打印输出和函数调用中统一使用从配置加载的代码映射和基准名称数据
|
2026-03-19 00:33:06 +08:00 |
|
|
|
9b154a1a25
|
feat(rotation): 增加最新调仓信号展示功能
- 配置中取消固定end_date,改为默认使用当前日期
- 添加打印最新调仓信号的功能,显示持仓明细及调出品种
- 在报告生成流程中调用最新调仓信号打印函数
- 图表展示中新增最新调仓信号表格,支持颜色区分调入、调出和维持
- 优化报告图表布局,调整画布高度适应信号表内容
- 删除无用test.py测试脚本及相关冗余代码
|
2026-03-19 00:22:25 +08:00 |
|
|
|
02ba6a5df2
|
fix(scripts): 修正报告保存路径默认值
- 将报告保存路径前缀默认值由 "report" 修改为 "results/report"
- 确保报告文件默认保存在更合适的目录结构中
|
2026-03-18 23:38:07 +08:00 |
|
|
|
988c2335fb
|
chore(config): 添加环境变量示例及.gitignore更新
- 新增 .env.example,包含 Tushare API、钉钉机器人和PostgreSQL数据库配置模板
- 更新.gitignore,忽略本地配置文件如 .env.local 和 config_local.py
- 添加对报表文件命名规则的支持,保留示例文件不忽略
- 删除废弃的 chart.py 及相关图表模块代码
- 新增 config/settings.py,实现从环境变量读取配置的统一接口
- 设置数据目录及缓存目录,确保目录存在,提高配置管理规范性
|
2026-03-18 23:33:40 +08:00 |
|
|
|
7c93be4b41
|
chore(git): 更新.gitignore以忽略缓存和生成文件
- 添加对data_cache目录的忽略
- 新增对常见图片格式文件的忽略(png, jpg, jpeg, gif, svg)
- 新增对HTML和CSV文件的忽略规则
- 统一管理缓存和生成文件,减少版本库污染
|
2026-03-18 21:59:58 +08:00 |
|
|
|
a19c3b2716
|
天或者周cci<-100都推
|
2025-10-30 22:00:16 +08:00 |
|
|
|
b84cfc6b02
|
过滤当天更新的指数并计算天和周cci
|
2025-10-30 21:56:02 +08:00 |
|
|
|
f0205ec146
|
修改为使用新浪财经数据 https://vip.stock.finance.sina.com.cn/mkt/#hs_s
|
2025-10-30 21:55:14 +08:00 |
|
|
|
7770468b1c
|
添加巨量ip的代理池 https://www.juliangip.com/users/
|
2025-10-30 00:24:22 +08:00 |
|
|
|
38f49dc667
|
每30秒一页
|
2025-10-29 23:32:54 +08:00 |
|
|
|
08a81e81a8
|
不需要区分环境
|
2025-10-29 23:10:25 +08:00 |
|
|
|
27f9f46317
|
保存的状态一段时间会失效 需要定期重新获取
|
2025-10-29 23:10:06 +08:00 |
|
|
|
94c580eebd
|
修复bug, 只转换数值类型
|
2025-10-29 22:40:18 +08:00 |
|
|
|
d07f7d3c85
|
macmini可以直接连自己的局域网ip,不需要通过host.docker.internal
|
2025-10-29 22:17:40 +08:00 |
|
|
|
af4ac03884
|
使用playwright代替akshare爬指数数据
|
2025-10-29 22:14:31 +08:00 |
|
|
|
01a2bdfc60
|
更新数据之后马上开始计算指标
|
2025-10-28 21:13:57 +08:00 |
|
|
|
1de7922484
|
在 fetch_paginated_data 中设置 sleep
|
2025-10-28 21:13:18 +08:00 |
|
|
|
53616f789b
|
添加docker ignore
|
2025-10-26 16:45:26 +08:00 |
|
|
|
5ccf1523d7
|
从index-base:latest镜像开始重新打
|
2025-10-26 16:39:21 +08:00 |
|
|
|
6e6be70eb8
|
基础镜像,避免每次重打耗时 docker build -f Dockerfile_base -t index-base:latest --platform linux/arm64 .
|
2025-10-26 16:38:57 +08:00 |
|
|
|
6009b85310
|
webhook去掉括号
|
2025-10-26 16:38:06 +08:00 |
|
|
|
af300cb5f0
|
非交易日不拉数据; 钉钉消息通知到消息通知群; 定时配置使用环境变量
|
2025-10-26 16:10:32 +08:00 |
|
|
|
67b539a564
|
测试
|
2025-10-25 16:42:03 +08:00 |
|
|
|
deb4ce7a0b
|
macd hist透明度调成0.5
|
2025-10-19 13:43:07 +08:00 |
|
|
|
c6a1da2449
|
MACD柱状图颜色逻辑:零轴上方用红色(上涨实心、下跌空心),零轴下方用绿色(下跌实心、上涨空心)。
|
2025-10-19 13:14:30 +08:00 |
|
|
|
c9edd37cb1
|
简化当前可视k线范围计算
|
2025-10-19 12:49:14 +08:00 |
|
|
|
b6d4044ce0
|
markers的时间粒度精确到秒,避免小时级数据出问题
|
2025-10-19 12:30:21 +08:00 |
|