尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

5分钟快速上手quanttrader:从pip安装到跑通第一个回测策略

5分钟快速上手quanttrader:从pip安装到跑通第一个回测策略 5分钟快速上手quanttrader从pip安装到跑通第一个回测策略【免费下载链接】quanttraderBacktest and live trading in Python项目地址: https://gitcode.com/gh_mirrors/qu/quanttraderquanttrader 是一款基于 Python 的事件驱动量化回测与实盘交易框架它以纯 Python 实现代码完全开源只需一行pip install quanttrader即可完成安装。无论你是量化新手还是资深玩家quanttrader 都能帮你快速验证交易想法写好一个回测策略就能在同一套代码上无缝切换实盘交易配合自带的图形监控界面随时掌握订单、持仓与账户动态。本文用 5 分钟带你从零开始跑通第一个量化回测策略。quanttrader是什么Python量化回测框架的核心特性quanttrader 采用事件驱动架构整个回测流程由 Tick 事件、订单事件OrderEvent和成交事件FillEvent驱动模块划分清晰quanttrader/backtest_engine.py回测引擎核心负责数据、策略、经纪商的装配与运行quanttrader/strategy/strategy_base.py策略基类你只需继承并实现on_tick等回调quanttrader/util/util_func.py数据读取工具内置 OHLCV CSV 与分时数据解析函数。项目还自带丰富的示例策略位于examples/strategy/目录包括双均线交叉、Dual Thrust 等经典策略非常适合新手学习参考。第一步quanttrader pip安装教程quanttrader 已发布到 PyPI安装过程非常简单。建议先为项目创建独立的虚拟环境Python 3.12再执行pip install quanttrader如果安装缓慢可切换国内镜像源加速pip install quanttrader -i https://pypi.tuna.tsinghua.edu.cn/simple安装完成后用下面的命令验证是否成功python -c import quanttrader; print(quanttrader ready) 提示本项目无需克隆源码仓库pip 一键安装即可使用。若你想阅读源码或自行修改仓库地址为https://gitcode.com/gh_mirrors/qu/quanttrader。第二步准备回测数据文件quanttrader 回测依赖历史行情数据项目在examples/TEST.csv和tests/test_data/TEST.csv中提供了标准的 OHLCV 示例数据字段格式为Date,Open,High,Low,Close,Adj Close,Volume。通过read_ohlcv_csv函数即可一键读取该函数会自动完成复权调整和时区本地化默认美国东部时区非常省心。第三步编写第一个量化回测策略我们以最经典的买入持有策略为例完整源码参考examples/buy_and_hold_strategy.py。策略逻辑很简单收到第一个 Tick 时用全部初始资金买入然后一直持有到回测结束。from datetime import datetime import pytz from quanttrader.backtest_engine import BacktestEngine from quanttrader.strategy.strategy_base import StrategyBase class BuyAndHoldStrategy(StrategyBase): def __init__(self): super().__init__() self.invested False def on_tick(self, tick_event): symbol self.symbols[0] if not self.invested: df_hist self._data_board.get_hist_price(symbol, tick_event.timestamp) close df_hist.iloc[-1][Close] target_size int(self._position_manager.initial_capital / close) self.adjust_position(symbol, size_from0, size_totarget_size, timestampdf_hist.index[-1]) self.invested True代码结构非常清晰继承StrategyBase在on_tick回调中读取历史价格并调用adjust_position调整仓位仅需十几行代码即可完成一个可用策略。第四步一键运行回测并查看结果接下来在__main__中装配回测引擎并运行df read_ohlcv_csv(TEST.csv) INIT_CAPITAL 100_000.0 start datetime(2008, 1, 1, 8, 30, 0, 0, pytz.timezone(America/New_York)) end datetime(2008, 12, 31, 6, 0, 0, 0, pytz.timezone(America/New_York)) strategy BuyAndHoldStrategy() strategy.set_capital(INIT_CAPITAL) strategy.set_symbols([TTT]) backtest_engine BacktestEngine(start, end) backtest_engine.set_capital(INIT_CAPITAL) backtest_engine.add_data(TTT, df) backtest_engine.set_strategy(strategy) equity, df_positions, df_trades backtest_engine.run() print(equity)运行后backtest_engine.run()会返回三个结果equity每日权益曲线df_positions每日持仓明细df_trades每一笔成交记录。保存结果也很简单可直接调用save_one_run_results输出 CSV 文件方便后续分析绩效。如果你希望挑战更复杂的策略可以参考examples/strategy/double_moving_average_cross_strategy.py的双均线交叉策略以及examples/strategy/dual_thrust_strategy.py的 Dual Thrust 突破策略。第五步从回测到实盘无缝切换quanttrader 的一大亮点是同一套策略代码可以直接用于实盘交易。回测时使用BacktestEngine实盘时只需切换到LiveEngine参考examples/live_engine.py与examples/config_live.yaml并接入 Interactive BrokersIB的 TWS 或 Gateway 即可框架会通过ibapi自动处理订单路由与成交回报。实盘运行时GUI 监控界面源码位于quanttrader/gui/会自动弹出顶部按钮可一键启动、暂停、停止或清仓策略下方六个标签页分别展示策略、订单、成交、持仓、账户和日志配合底部实时 CPU 与内存占用监控让每一笔交易尽在掌握。常见问题与上手建议Q1回测数据格式有什么要求标准的 OHLCV CSV 即可注意列名需包含 Open、High、Low、Close、Volume且日期索引按时间升序排列。Q2策略里如何设置多个交易标的调用set_symbols([AAPL, MSFT])传入列表即可多个标的的仓位和绩效会被分别跟踪。Q3新手最容易踩的坑是什么一是时区问题务必保证数据与BacktestEngine起止时间使用同一时区建议用pytz显式指定二是初始资金需要在策略与引擎两侧都设置保持一致。上手建议先从examples/buy_and_hold_strategy.py跑通流程再逐步尝试examples/strategy/目录下的经典策略最后结合tests/test_strats.py中的单元测试加深理解。每一步都有示例代码与测试用例护航量化之路从此不再遥远。【免费下载链接】quanttraderBacktest and live trading in Python项目地址: https://gitcode.com/gh_mirrors/qu/quanttrader创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表