01
项目启航
交易模拟器是什么?它能做什么?我们为什么要从零开发?项目整体架构预览。
概览入门
02
环境搭建
安装Python、配置虚拟环境、选择IDE (VS Code/PyCharm)、安装必要的第三方库。
工具配置
03
用户账户系统 (上)
设计用户类,包含用户名、密码、初始资金等属性。
OOP账户
04
用户账户系统 (下)
实现注册、登录、资金存取功能,数据用JSON文件持久化。
持久化JSON
05
核心数据结构
设计股票/加密货币的数据模型,包含代码、名称、当前价格、历史价格列表。
数据模型设计
06
市场数据模拟器 (上)
用随机游走模型模拟价格波动,生成开盘价、收盘价、最高价、最低价。
模拟随机游走
07
市场数据模拟器 (下)
实现K线数据生成器,支持1分钟、5分钟、日线等不同时间粒度。
K线粒度
08
交易引擎核心 (上)
设计订单类,包含订单类型(市价单/限价单)、方向(买入/卖出)、数量、价格。
订单设计
09
交易引擎核心 (中)
实现订单簿(Order Book),管理买单队列和卖单队列。
订单簿队列
10
交易引擎核心 (下)
实现撮合逻辑,价格优先、时间优先原则,生成成交记录。
撮合成交
11
持仓管理模块
设计持仓类,管理用户持有的资产,计算平均成本、浮动盈亏。
持仓盈亏
12
资金管理模块
实现资金冻结与解冻逻辑,计算可用资金与持仓市值。
资金风控
13
交易手续费模型
设计阶梯式手续费结构,支持按成交金额的百分比收取。
手续费阶梯
14
风险控制模块 (上)
实现简单的止损/止盈订单,当价格触发条件时自动执行。
止损止盈
15
风险控制模块 (下)
实现最大回撤监控、单笔交易最大亏损限制。
回撤风控
16
回测引擎 (上)
设计回测框架,支持加载历史数据,逐笔回放交易。
回测框架
17
回测引擎 (下)
实现回测结果统计,包括总收益率、年化收益率、夏普比率、最大回撤。
统计指标
18
策略接口设计
定义策略基类,用户只需实现 `on_bar` 和 `on_tick` 方法即可编写策略。
接口策略
19
实战策略一:双均线金叉死叉
实现5日均线上穿20日均线买入,下穿卖出。
均线金叉
20
实战策略二:网格交易策略
在价格区间内设置多层网格,低买高卖。
网格高频
21
实战策略三:动量策略
基于过去N日的收益率排序,买入强势资产。
动量因子
22
可视化模块 (上)
用Matplotlib绘制K线图、成交量图、均线。
MatplotlibK线
23
可视化模块 (下)
绘制资金曲线、回撤曲线,生成交易信号标记。
曲线信号
24
实时模拟交易 (上)
用WebSocket模拟实时行情推送,实现Tick级交易。
WebSocketTick
25
实时模拟交易 (下)
实现模拟交易终端,显示实时行情、持仓、订单状态。
终端UI
26
性能优化
用NumPy加速计算,用Pandas处理时间序列数据,用缓存减少IO。
NumPyPandas
27
日志与监控
实现交易日志系统,记录每一笔订单和成交,支持按日期查询。
日志监控
28
配置管理
用YAML/JSON配置文件管理交易参数,支持热加载。
YAML热加载
29
单元测试
为账户系统、订单引擎、回测引擎编写单元测试,确保代码质量。
pytest质量
30
项目总结与扩展
回顾项目架构,讨论如何接入真实交易所API,未来功能展望。
总结扩展