Skip to content

Latest commit

 

History

History
180 lines (125 loc) · 7.02 KB

File metadata and controls

180 lines (125 loc) · 7.02 KB

📈 SimTradeLab

English | 中文 | Deutsch

轻量级量化回测框架 - PTrade API本地实现

Python License License: Commercial Version PyPI PyPI - Downloads

完整模拟PTrade平台API,策略可无缝迁移。详情参考:ptradeAPI


🎯 为什么选择 SimTradeLab?

SimTradeLab PTrade
速度 快100–160倍 基准
启动 亚秒级(数据常驻内存) 分钟级
API覆盖 62个回测/研究API 全平台
策略迁移 零代码修改 零代码修改
运行环境 本地、免费、开源 云端、授权

核心能力:

  • 62个API — 股票日/分钟线回测场景100%覆盖
  • 100-160倍性能提升 — 本地回测比PTrade平台快100-160倍
  • 🚀 数据常驻内存 — 单例模式,首次加载后常驻,二次运行秒级启动
  • 💾 多级智能缓存 — LRU缓存(MA/VWAP/复权/历史数据),命中率>95%
  • 🧠 智能数据加载 — AST静态分析策略代码,按需加载数据,节省内存
  • 🔧 生命周期控制 — 7个生命周期阶段,严格模拟PTrade的API调用限制
  • 📊 完整统计报告 — 收益、风险(夏普/索提诺/卡玛)、交易明细、FIFO分红税、CSV导出
  • 🔌 多市场支持 — 内置 A 股 / 美股市场配置,自动适配交易规则(T+1、涨跌停、手数、手续费)
  • 🌐 国际化 — 回测输出支持中文/英文/德文

🚀 想要更强大的体验?试试 SimTradeDesk

SimTradeDesk 是基于 SimTradeLab 打造的专业桌面应用 — 无需编程。

功能 SimTradeLab(本仓库) SimTradeDesk
目标用户 开发者 & 量化工程师 所有交易者
操作界面 Python API 桌面 GUI
策略编辑 代码编辑器 内置语法高亮编辑器
可视化 PNG 图表 交互式实时图表
数据管理 手动配置 一键下载与更新
参数调优 编写代码 可视化优化器

👉 获取 SimTradeDesk →


📦 快速开始

pip install simtradelab

# 可选:技术指标(需要系统级 ta-lib)
pip install simtradelab[indicators]

# 可选:参数优化器
pip install simtradelab[optimizer]

数据获取: 使用 SimTradeData 获取A股和美股历史数据。

运行回测:

from simtradelab.backtest.runner import BacktestRunner
from simtradelab.backtest.config import BacktestConfig

config = BacktestConfig(
    # --- 必填 ---
    strategy_name='my_strategy',       # 策略文件夹名(strategies/ 下的目录名)
    start_date='2024-01-01',           # 回测开始日期
    end_date='2024-12-31',             # 回测结束日期

    # --- 资金与市场 ---
    # initial_capital=100000.0,        # 初始资金(必须 > 0)
    # market='CN',                     # 市场: 'CN'(A股) | 'US'(美股)
    # broker_profile='auto',           # 券商API口径: 'auto' | 'guosheng' | 'dongguan' | 'shanxi'
    # t_plus_1=None,                   # T+1覆盖: None=市场默认(CN=True, US=False)
    # benchmark_code='',               # 基准代码,空串=市场默认基准

    # --- 频率 ---
    # frequency='1d',                  # K线频率: '1d'(日线) | '1m'(分钟线)

    # --- 路径 ---
    # data_path='~/.simtradelab/data', # 行情数据目录
    # strategies_path='./strategies',  # 策略根目录

    # --- 性能 ---
    # enable_multiprocessing=True,     # 启用多进程数据加载
    # num_workers=None,                # 进程数(None=自动, 必须 >= 1)
    # use_data_server=True,            # 使用内存数据服务(单例模式)

    # --- 输出 ---
    # enable_charts=True,              # 生成PNG图表
    # enable_logging=True,             # 写入日志文件
    # enable_export=False,             # 导出交易明细CSV

    # --- 沙箱与国际化 ---
    # sandbox=True,                    # PTrade沙箱模式: 限制import和内置函数
    # locale='auto',                   # 日志语言: 'zh' | 'en' | 'de'(自动:CN市场→zh,其他→系统语言)
    # optimization_mode=False,         # 优化模式: 跳过策略校验/数据分析/日志配置(由优化器管理)

    # --- 入口文件 ---
    # strategy_file='backtest.py',     # 入口文件: 'backtest.py' | 'live.py'
)
runner = BacktestRunner()
report = runner.run(config=config)

📚 API 概览

62个回测/研究API — 股票回测场景100%覆盖。

类别 API
交易 order, order_target, order_value, order_target_value, cancel_order, get_positions, get_trades
数据 get_price, get_history, get_fundamentals, get_stock_info
板块 get_index_stocks, get_industry_stocks, get_stock_blocks
指标 get_MACD, get_KDJ, get_RSI, get_CCI
配置 set_benchmark, set_commission, set_slippage, set_universe, set_parameters
生命周期 initialize, before_trading_start, handle_data, after_trading_end

📄 许可证

双许可证 模式:


🤝 贡献

  • 🐛 报告问题
  • 💻 实现缺失的API功能
  • 📚 完善文档

详见 CONTRIBUTING.md


⚖️ 免责声明

SimTradeLab 是社区独立开发的开源回测框架,灵感来源于 PTrade 的事件驱动设计。不包含 PTrade 的源代码、商标或受保护内容,不隶属于 PTrade。用户需自行确保合规。


⭐ 如果这个项目对您有帮助,请给我们一个星标!

🐛 报告问题 | 💡 功能请求 | 🖥️ SimTradeDesk


💖 赞助支持

如果这个项目对您有帮助,欢迎赞助支持开发!

微信赞助 支付宝赞助

您的支持是我们持续改进的动力!