Skip to content

zhangsensen/vectorbt

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

港股短线交易策略发现系统(简化版)

本仓库现在以 hk_factor_discovery 为核心,实现了面向香港市场的两阶段向量化策略发现流程:

  1. 阶段一 – 单因子探索:遍历 72 个技术/统计因子与 11 个时间框架(1m→1d)的组合,利用完全向量化的回测引擎评估夏普率、稳定性、胜率等关键指标,并把结果写入 SQLite 数据库。
  2. 阶段二 – 多因子组合:先按夏普率与信息系数(IC)双指标为 792 个因子-时间框架组合打分,自动筛出全市场 Top20 领先因子,再基于它们生成 2~3 个因子的组合,计算组合收益序列并输出排序后的最优策略列表,同样支持数据库留存与复用。

仓库结构

hk_factor_discovery/
├── config.py                  # 时间框架等核心配置
├── data_loader.py             # 支持 1m/2m/3m/5m/1d 原始数据与高阶重采样
├── database.py                # 因子结果与组合策略的 SQLite 持久化
├── factors/                   # 72 个因子定义(趋势/动量/波动率等八大类)
├── phase1/                    # 单因子探索器与向量化回测引擎
├── phase2/                    # 多因子组合与优化逻辑
├── utils/                     # 绩效指标、成本模型等通用组件
└── tests/                     # Pytest 覆盖核心流程

历史上的 longport/vectorizedvectorbt_workspace 模块仍然保留以便追溯,但新的策略开发推荐直接使用 hk_factor_discovery 提供的 API 与 CLI。

快速开始

  1. 安装依赖(推荐 Python 3.10+)

    python -m venv .venv
    source .venv/bin/activate
    pip install numpy pandas
  2. 准备数据目录

    • 1m2m3m5m1d 的 OHLCV Parquet/CSV 数据放在 symbol/timeframe.parquettimeframe/symbol.parquet 结构下,二者皆受支持。
    • 其余时间框架(10m、15m、30m、1h、2h、4h)由 HistoricalDataLoader 自动进行向量化重采样,无需额外文件。
  3. 运行命令行入口

    python -m hk_factor_discovery.main --symbol 0700.HK --data-root /path/to/data_root
    • --phase phase1--phase phase2 可以只执行单阶段。
    • --reset 会清空 SQLite 数据库重新探索。

编程接口

from hk_factor_discovery import HistoricalDataLoader, SingleFactorExplorer, MultiFactorCombiner
from hk_factor_discovery.factors import all_factors

loader = HistoricalDataLoader(data_provider=my_provider)
factors = all_factors()
explorer = SingleFactorExplorer("0700.HK", data_loader=loader, factors=factors)
phase1_results = explorer.explore_all_factors()

combiner = MultiFactorCombiner("0700.HK", phase1_results)
strategies = combiner.discover_strategies()
print(strategies[0]["strategy_name"], strategies[0]["sharpe_ratio"])

测试

仓库包含覆盖因子注册、探索器、组合器与数据库读写的 Pytest 测试:

pytest hk_factor_discovery/tests

若环境暂时未安装 pandasnumpy,测试会自动跳过相关用例。建议在准备好依赖后完整执行一次以验证因子池与组合逻辑。

关键设计亮点

  • 向量化实现:所有因子计算与回测步骤均基于 numpy/pandas,避免显式循环确保性能。
  • 香港市场成本建模:内置印花税、佣金、滑点与最小费用的组合成本模型,便于快速评估真实净收益。
  • 结果持久化:SQLite 架构遵循需求文档提供的三张核心表,可直接供后续分析或外部可视化使用。
  • 可扩展性:通过配置类与注册中心轻松扩展时间框架、因子或组合策略逻辑,满足未来多市场扩张需求。

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors