|
|
4e3aac5e0e
|
feat: Flask统一数据服务迁移(分层架构)
架构设计:
- 对外统一接口 fetch():自动识别资产类型并路由
- 对内分层实现:各资产类型独立方法,职责单一
新增文件:
- datasource/universal_fetcher.py: 统一数据获取器
- _fetch_china_index: A股指数(Tushare)
- _fetch_china_etf: A股ETF(含净值)
- _fetch_us_index: 美股指数(YFinance+SSH)
- _fetch_hk_index: 港股指数(YFinance+SSH)
- _fetch_futures: 期货(Tushare/YFinance)
- fetch_etf_with_nav: ETF价格+净值(计算溢价率)
- datasource/asset_type_detector.py: 资产类型检测器
- AssetType枚举:9种资产类型
- detect(): 自动识别资产类型
- group_by_type(): 批量分组
- datasource/flask_server.py: Flask API服务
- LRU + TTL 双缓存机制
- 8个API端点:ohlcv、etf/nav、batch、cache等
更新:
- datasource/__init__.py: 导出新模块
验证:
- 模块导入成功
- 资产类型检测正确
- A股数据获取正常(沪深300: 5条)
|
2026-05-12 21:33:19 +08:00 |
|
|
|
ba266ca3fe
|
feat(execution): 实现完整BacktestExecutor回测执行器
- 日收益率计算(支持单/多标的策略)
- 交易成本扣除(支持换手率比例扣除)
- 净值计算(起点归一化)
- 基准对比
- 支持中英文列名(signal/信号)
- 相关系数达到1.0000,与现有实现完全一致
|
2026-05-11 23:24:25 +08:00 |
|
|
|
774758c3b0
|
feat(data): 实现数据获取层抽象接口
- OHLCVData: 标准化K线数据结构
- DataSource: 数据源抽象接口(fetch/fetch_batch)
- DataCache: 缓存抽象接口(get/set/is_fresh)
- LocalFileCache: 本地文件缓存实现
- HybridDataSourceAdapter/TushareDataSource/YFinanceDataSource: 定制数据源适配器
|
2026-05-11 23:24:11 +08:00 |
|
|
|
fc59836ec3
|
test: 更新测试以验证框架重构正确性
- 测试文件改用strategies.shared的具体实现
- 新增framework_comparison_test.py对比新旧实现结果
- 因子计算相关系数达到1.0000,差异为0.000000
- 79个单元测试全部通过
|
2026-05-11 23:10:02 +08:00 |
|
|
|
30ea2970bd
|
refactor(framework): 框架只保留抽象接口,具体实现移至strategies/shared
- FactorBase/FactorRegistry/FactorCombiner: 因子抽象接口
- SignalGenerator: 信号生成抽象接口
- RiskControl/Position/CallbackHook: 风控抽象接口
- StrategyBase: 策略抽象基类
- Executor/Portfolio: 执行器抽象接口
- ConfigLoader: 配置加载器
- 删除framework/factors/momentum.py(具体实现)
|
2026-05-11 23:09:01 +08:00 |
|
|
|
95c0d79172
|
feat(framework): 完成框架入口与集成测试
核心组件:
- ConfigLoader: 配置加载器(YAML支持)
- StrategyConfig: 策略配置数据类
- framework/__init__.py: 框架统一入口
导出接口:
- FactorBase, FactorRegistry, FactorCombiner
- SignalGenerator, TopNSelector, TrendFollower, ReversalTrader
- StrategyBase, RotationStrategy
- RiskControl, StopLossControl, PositionLimitControl
- Executor, BacktestExecutor, DryRunExecutor
- ConfigLoader
集成测试:
- 轮动策略完整流程验证
- 趋势策略完整流程验证
- 回调钩子完整流程验证
总计:62个测试全部通过,框架核心实现完成
|
2026-05-11 22:19:26 +08:00 |
|
|
|
babf224203
|
feat(execution): 实现执行层(回测 + Dry-run)
核心组件:
- Executor: 执行器抽象基类
- BacktestExecutor: 回测执行器
- 处理信号、计算净值、记录交易
- 支持交易成本设置
- DryRunExecutor: 模拟盘执行器
- 模拟下单、模拟成交、模拟持仓更新
- 不影响真实资金
- Portfolio: 持仓组合数据类
特点:
- 统一接口(execute方法)
- 支持两种模式切换(回测/Dry-run)
- 实盘执行器预留扩展点
测试覆盖:7个测试全部通过
|
2026-05-11 22:19:07 +08:00 |
|
|
|
7468130450
|
feat(strategy): 实现策略层与配置加载
核心组件:
- StrategyBase: 策略抽象基类(含回调钩子)
- 类属性(可被配置覆盖)
- init_factors(): 初始化因子组合
- init_signal_generator(): 初始化信号生成器
- run(): 运行策略
- RotationStrategy: 轮动策略示例实现
- 动量因子 + TopN选股
- before_entry回调(溢价过滤)
- dynamic_stoploss回调(持仓时间动态止损)
- ConfigLoader: 配置加载器(YAML支持)
- StrategyConfig: 策略配置数据类
特点:
- 配置覆盖类属性
- 回调自动注册
- 策略工厂模式
测试覆盖:8个测试全部通过
|
2026-05-11 22:18:55 +08:00 |
|
|
|
512b73ac04
|
feat(risk): 实现风控层与回调钩子机制(融合Freqtrade设计)
核心组件:
- RiskControl: 风控抽象基类
- StopLossControl: 止损控制(固定止损/跟踪止损)
- PositionLimitControl: 仓位限制控制
- PremiumControl: 溢价控制(filter/penalize模式)
回调钩子机制:
- CallbackHook: 回调管理器(注册/触发)
- 5个核心回调:before_entry, after_entry, before_exit, after_exit, dynamic_stoploss, custom_exit
便捷回调函数:
- premium_filter_callback: 溢价过滤回调
- crash_filter_callback: 崩盘检测回调
- holding_time_stoploss_callback: 持仓时间动态止损
测试覆盖:13个测试全部通过
|
2026-05-11 22:18:41 +08:00 |
|
|
|
f5e6202eee
|
feat(signals): 实现信号生成层抽象
核心组件:
- SignalGenerator: 信号生成器抽象基类
- TopNSelector: Top N选股器(轮动策略)
- 支持分组选股(先类内竞争,再跨类排序)
- 支持最小得分阈值过滤
- TrendFollower: 趋势跟随器(趋势策略)
- 入场阈值/出场阈值控制
- ReversalTrader: 反转交易器(反转策略)
- 超买超卖信号生成
特点:
- T+1执行机制(信号shift向后移位)
- 向量化计算,避免前视偏差
测试覆盖:10个测试全部通过
|
2026-05-11 22:18:20 +08:00 |
|
|
|
796a695eef
|
feat(factors): 实现因子层抽象
核心组件:
- FactorBase: 因子抽象基类(compute方法 + 数据验证)
- FactorRegistry: 因子注册器(注册/获取/按类别筛选)
- FactorCombiner: 因子组合器(加权组合4种方法)
已实现因子:
- MomentumFactor: 加权动量因子(含崩盘过滤)
- TrendFactor: 趋势因子(MA交叉/MACD)
- ReversalFactor: 反转因子(RSI/KDJ)
- VolatilityFactor: 波动率因子(ATR/标准差)
测试覆盖:18个测试全部通过
|
2026-05-11 22:17:53 +08:00 |
|