目录
第1章 开发交易系统的流行方法 1
1.1 人工交易 1
1.2 现成的信号和算法 1
1.2.1 信号 2
1.2.2 第三方算法 3
1.3 专业服务 5
1.4 独立创建交易平台 6
1.4.1 测试单一策略 6
1.4.2 不同开发人员的方法 7
1.5 雇用第三方开发者 7
1.6 我的方法 8
1.7 小结 9
第2章 开发交易系统导论 10
2.1 一般理论 10
2.1.1 订单执行 12
2.1.2 保证金和杠杆 14
2.2 交易系统的构成 15
2.3 交易理论 16
2.3.1 技术分析 17
2.3.2 基本面分析 21
2.3.3 混合方法 21
2.3.4 波动 22
2.3.5 信号 22
2.4 资本管理 24
2.4.1 固定头寸规模 24
2.4.2 凯利标准 25
2.4.3 最优 f 26
2.4.4 鞅 27
2.4.5 反鞅 28
2.4.6 固定比例头寸规模 28
2.5 风险控制 30
2.5.1 最大损失金额 31
2.5.2 止损单 31
2.5.3 止盈单 32
2.5.4 追踪止损单 33
2.5.5 投资组合多样化 34
2.5.6 监测市场波动 35
2.6 测试 36
2.7 绩效指标 37
2.7.1 盈利能力 37
2.7.2 获利因子 38
2.7.3 回撤 38
2.7.4 夏普比率 39
2.7.5 盈利交易的平均盈利规模和亏损交易的平均亏损规模 39
2.7.6 期望值 40
2.8 优化 40
2.9 小结 42
第3章 架构解决方案第1 部分:识别需求 43
3.1 确定需求 44
3.1.1 信号 44
3.1.2 客户对系统的愿景 45
3.2 理论生成器 47
3.2.1 策略搜索 50
3.2.2 选择和前向测试 59
3.2.3 金融工具的选择 60
3.2.4 盈利策略搜索设置 60
3.2.5 搜索盈利策略的逻辑 60
3.2.6 真实交易 62
3.3 重要问题 62
3.3.1 头寸的生命周期 63
3.3.2 资本管理 64
3.3.3 风险控制 65
3.3.4 指标的可伸缩性 69
3.4 小结 71
第4章 架构解决方案第2 部分:服务和子系统 72
4.1 微服务架构 72
4.2 Kubernetes 74
4.3 子系统 76
4.4 策略搜索子系统 76
4.4.1 生成器 77
4.4.2 队列 79
4.4.3 有限状态机 82
4.4.4 理论处理步骤的概念 82
4.4.5 子理论计算 86
4.4.6 生成器过程检查 87
4.4.7 优化算法 88
4.4.8 任务 89
4.4.9 核心 91
4.4.10 沙盒交易所 91
4.5 真实交易子系统 92
4.5.1 集成交易所 92
4.5.2 策略的启动和运行 95
4.5.3 启用和禁用策略 96
4.5.4 检查金融工具的类型 98
4.5.5 主数据 101
4.6 小结 103
第5章 技术栈和库 104
5.1 选择框架 104
5.2 应用程序架构 105
5.2.1 意大利面条式代码 105
5.2.2 整洁架构 105
5.2.3 域驱动设计与贫血模型 107
5.3 对象关系映射器 108
5.3.1 使用 Dapper 的方法 108
5.3.2 迁移 111
5.4 有限状态机 112
5.4.1 工作原理 113
5.4.2 托管服务 115
5.4.3 后台运行机制 125
5.5 小结 129
第6章 优化算法 130
6.1 问题的形式 130
6.2 种群算法 131
6.3 遗传算法 132
6.3.1 突变算子 133
6.3.2 交叉算子 134
6.3.3 筛选算子 136
6.3.4 选择算子 140
6.3.5 限制 142
6.3.6 局部无约束优化算法 147
6.4 小结 155
第7章 优化算法的实现 156
7.1 总体愿景 156
7.2 暴力算法 158
7.2.1 获取信息 159
7.2.2 获取一组值 162
7.2.3 使用方法 166
7.3 遗传算法 167
7.3.1 步骤 168
7.3.2 获取信息 168
7.3.3 获取一组值 172
7.3.4 初始化步骤 178
7.3.5 突变步骤 179
7.3.6 筛选步骤 181
7.3.7 繁殖步骤 184
7.4 测试函数 188
7.5 子理论示例 189
7.6 小结 191
第8章 Core 模块的实现 192
8.1 用例 192
8.2 上下文 194
8.3 更新 K 线事件 194
8.4 检查信号 196
8.4.1 策略模型 197
8.4.2 计算信号 201
8.4.3 指标计算 205
8.4.4 平均真实范围 209
8.5 头寸处理 212
8.5.1 ProcessBot Lite 213
8.5.2 处理步骤 218
8.5.3 事件 221
8.5.4 处理操作 229
8.6 小结 233
第9章 最终实现方法 234
9.1 Binance 适配器 234
9.1.1 功能目标 234
9.1.2 具体实现 235
9.2 Docker 237
9.2.1 容器化技术发展简史 237
9.2.2 需要 Docker 的理由 239
9.2.3 Docker 组件 239
9.2.4 启动应用程序 240
9.3 Kubernetes 245
9.3.1 组件 245
9.3.2 Pod 246
9.3.3 部署 247
9.3.4 服务 251
9.3.5 helm 252
9.4 小结 254
