本书采用生动活泼的语言,从入门者的角度讲解BackTrader专业量化软件的使用方法和实盘操作技巧,同时结合国内股票市场、期货、外汇等实盘交易数据进行量化分析实例讲解,包括股票价格分析、量化策略编程、策略参数优化等。书中包含大量简单风趣的实际案例,内置专业模块结构图和相关程序源码,方便初学者入门学习,以快速掌握BackTrader的使用方法,为日常实盘操作奠定扎实的基础。( p. H `1 |5 Q2 G1 I- B m
作者简介
- h: X) ]! E& Z6 S4 j 何海群,20年AI人工智能从业经验。zwPython.com研习社、TOP极宽量化开源项目发起人。“中华大字库”软件发明者,图书作品有《零起点Python大数据与量化交易》《零起点Python机器学习快速入门》《零起点TensorFlow与量化交易》等。__eol__何星语,网名,Y?Star,数据分析专业,统计学和英语双学士学位,TOP极宽量化开源组核心成员,发表论文《区块链中的数学逻辑及应用》《基于区块链技术的商务积分应用研究》,以及英文论文 A Brief Analysis of Maugham’s View of Life in The Razor’s Edge” (浅析毛姆小说《刀锋》中的人生观)。
1 Z! A/ I3 A; V! i3 F5 i! u) e1 Z$ C 目录
8 t/ G2 _) g8 |# M9 T6 g7 J 内容简介5 s: I' i u( s" B1 J, B9 y" ?
推荐序5 f( [ b9 ^; z5 f; d
前言
" _4 V, l+ c" J O6 z 第1章 BackTrader简介) h- _5 }* o0 w, Z# ]: X
1.1 BackTrader量化软件的特点+ c+ r! E5 ^ ?% N. O N+ q
1.2 进入神奇的Python世界
7 S8 s T/ r- Q, x; E9 m6 N6 Y 1.3 TOP极宽量化工具函数库# ]. V, y) W2 ~2 b. [3 b* g
1.4 量化回测“四步曲”1 E& H& y0 i8 N% [4 I
1.5 案例:完整的量化版“Hello”程序, F8 E; x8 P! E9 C6 `4 O
第2章 数据预处理- C" N! p1 M! v/ B, S! Y
2.1 数据格式) B) G' W' @% _* n, C
2.2 Lines内部数据格式
; b9 b; n# f( E" R7 x; t% h 2.4 指数代码文件
3 J; `; H j. O* x; I 2.5 数据预处理函数
) _- c) J$ ]. f+ q( J 2.6 案例:数据预处理7 K1 J+ H1 `0 Z6 S* i
第3章 策略编程
2 s3 H' }6 C1 @. W% ]6 k( c/ L9 H 3.1 SQN指数&策略评估参数
( A' ] p2 V! z0 u 3.2 量化金融指标$ n6 Q: T- u$ _
3.3 交易数据更新
/ p) Y2 D' _8 E. C( I 3.4 策略编程模板" V2 Q3 U/ d; Z0 f& x7 ^
3.5 案例:策略编程
8 V) B- a9 L/ Y) ~; P* d0 C 第4章 Buy买入策略1 \, e, O% E7 q: x5 N3 G( L. g
4.1 Buy买入函数
: L3 l# ?8 D' T/ c 4.2 案例:设置Buy买入价格
+ U" h* i. X& E' c 4.3 next策略执行函数
: a" ? Y8 `! l- C, z1 x 4.4 Buy买入策略编程. ?3 [. B R3 o# @- S" I- K* T
第5章 Sell卖出策略" _$ C# r* F9 g2 s8 Z; w
5.1 Position仓位检查7 |' T8 {/ U' |2 m ]* i3 R. A
5.2 Smart Staking智能动态仓位管理; ~: p9 h2 U) J: _
5.3 Sell卖出函数
i/ B3 Z s& Z" O9 Y7 g/ S$ B/ w 5.4 案例:Sell卖出策略3 X+ \4 B$ h2 y/ B
5.5 买卖点图表
5 ?6 v% X( r7 |% B3 V! A) W# s 5.6 notify_order订单状态检查函数
. @7 ^( V: z6 y+ P% n5 K3 \2 o 5.7 双边交易策略
! Q! Y. y% V6 K5 [+ }% m6 c 5.8 bar量化节点数据包变量
6 F9 Z5 {; g9 S 第6章 Broker数字经纪人
! N2 I& g& O8 m7 ? 6.1 Broker数字经纪人概述6 }0 D+ q( [8 {
6.2 交易佣金(Commission)
5 A0 K4 \* M. u: k8 ?6 R 6.3 案例:添加Broker经纪人+ B' I# b1 ^0 \8 A6 R* t# F X ?( |
6.4 Broker常用参数, j$ t6 M, Q1 L
6.5 案例:Sizer交易数额4 t) I( A( ~7 n m/ k+ M
6.6 Sizer交易数额模块库架构图) c+ E, M& c3 @% p: P; u
第7章 MA均线策略编程3 d1 a2 M1 U: \; G5 H8 K0 r; b
7.1 MA均线策略和指标简介
! W/ _; o8 S5 A: P- h6 m 7.2 案例:MA均线策略编程8 ]- w4 \' ^8 g/ b) ?
第8章 plot绘制金融图
, u4 m6 a4 D" I6 _% d( |, r 8.1 金融分析曲线) o: W; j& r6 D" r i
8.2 案例:绘制不同风格K线图/ @/ S+ T( S/ {
8.3 多曲线金融指标9 B( r8 e1 g% D+ j
8.4 Observers观测子模块) t" b; _2 [) w" K U3 T2 g+ y. D
8.5 plot绘图函数的常用参数' w# N- e. r) B' a
8.6 案例:买卖点符号和色彩风格* `# Z9 Z& p$ Y* T* K/ k
8.7 案例:vol成交量参数* j' A# `8 c8 f; \/ M3 ]: t8 x
8.8 案例:多图拼接模式
9 E& d W0 b; {( p/ m" c5 ? 8.9 案例:绘制HA平均K线图$ T& e! U, Q7 Z+ D) C3 a
8.10 K线图绘制
, F- M) K' y9 S6 |6 ^ 8.11 案例:绘制多指标金融图
3 I( u, z+ v# o9 Q s7 R% ~ 第9章 回测结果分析( o* y: V! W9 c6 P5 o1 V3 Y
9.1 常用量化分析指标5 H8 M; d8 H5 t3 c* ^9 M% ~9 {; j
9.2 案例:回测数据基本分析/ y: x3 J1 E* F
9.3 Analyzer分析类
$ g( a; F6 K; |) U+ p4 Q. Y 9.4 Analyzer分析模块架构图0 g* M, M3 O* P0 B# q0 M) o
9.5 SQN指数
6 V/ Y& K% @0 S# m/ O 9.6 案例:回测数据扩展指标分析3 x/ c3 T% W3 z" E6 J
9.7 案例:底层数据分析: t; |; v: P1 Y/ H. P' K; I, C
第10章 PyFolio专业量化分析图% T! m. ^9 Y7 q6 q6 Q- p0 A
10.1 常用量化模块库" S6 I6 j; k# B. Q5 I
10.2 轻量级量化分析模块 p1 c! Z5 O d
10.3 PyFolio简介
. S+ N' h. E% M1 `8 l* d: ? 10.4 案例:PyFolio量化分析5 C7 Y) h' l' p* G# ?" {1 c$ \! c
10.5 解读专业量化分析图1 G, N# z) x3 R4 G2 @: d. ]
第11章 Trade交易操作
2 T( B( B1 q. l( O! |1 T 11.1 量化回测分析流程; c* {( W: G3 E; |9 Y1 P
11.2 Cerebro类模块
' D; P% g3 P8 F0 Y, l- M% R 11.3 案例:Trade交易
- l3 V8 ]: O6 h$ T 11.4 实盘交易及其隐性规则0 v( j, P, J( [$ A O7 {+ f" [
11.5 Stake交易数额和Trade交易执行价格7 x! i/ `" O3 b1 K: k y+ g7 ^
第12章 买卖点分析
/ }- J& e1 d0 {7 j# q* u2 ` 12.1 案例:买卖点设置
# s q' Z3 p; p+ B a 12.2 优化输出信息
/ Z5 |! `. |# ?% @- E2 X' c; z$ l 12.3 案例:手动版策略参数优化
x4 i9 e) A6 v& w% l U6 W: r 第13章 sign信号交易模式7 T5 X& `* {; J
13.1 Indicator指标模块库架构图
' \" m3 @4 _- e V# M 13.2 案例:信号交易的基本操作
& ~4 m" {1 @; Y8 m2 x O 13.3 案例:信号模式买卖点分析
9 N+ i" d1 x$ m( ]8 d& D0 b5 ? 13.4 SignalStrategy信号策略类
* B* u8 K; |+ m( D( z 第14章 参数寻优& g) M# E4 i& M9 a5 T* v) f
14.1 参数寻优概述3 U$ Y- ^! t$ E( Z# K- ]% O
14.2 演示案例:单参数自动寻优
9 M7 Z$ r. z- H# ]4 L. K# g 14.3 BackTrader内置优化函数, S: u) x* a+ M9 R* c; @/ I
14.4 演示案例:多参数自动寻优
& Q7 L- O8 R* L1 P 第15章 模拟盘/实盘操作
; {3 }- e* f. J: j# J 15.1 模拟盘交易和实盘交易的区别5 R* w/ X: [7 q: _* O" L/ i% c, E
15.2 实盘数据和交易接口' R3 j6 W4 b# c) @ x, w
15.3 数据共性
2 c0 b4 j2 [( a9 X8 Z& Y4 G" [ 15.4 数据区别
' L. [: w/ r# b- s1 H 15.5 案例:模拟盘的参数设置
$ v' k% ], ^2 ~3 p, o, z0 p+ y 前言
$ m3 F; z4 S. \& ?0 W BackTrader是源自欧洲的开源量化软件,也是目前金融行业应用最广的量化分析软件。BackTrader属于单机量化软件,支持“7×24”小时高强度的实盘工作模式。- M3 @0 u' q3 |( L- d3 R
任何行业都存在技术更新迭代的问题,人们对于专业技能的升级应用,正是社会蓬勃发展的驱动力。在金融行业中,BackTrader无疑是从业者更好地预测、分析未来发展趋势的必需品。学好了BackTrader,就相当于在金融市场多了一套披荆斩棘的投资利器。1 i" t+ [$ H2 K- ?
精彩书摘: i. J5 b0 V) l @0 R9 a5 M
大家都知道,Python的原生运算速度相对比较慢。BackTrader量化软件,以及常用的金融软件,交易数据的预处理主要都是通过Pandas模块库当中的矢量化运算完成的,它可以大幅度提高数据运算速度。
% k' [8 t- ]- {; p( a& _ 下面通过具体案例来介绍数据预处理。
) N2 U" l% N- w. E( t1 h 案例文件名是btr_e002dat.py。本案例在量化版“Hello”案例的基础上增加了一组简单的测试数据和部分简单参数。: S) n& H4 N' G5 g
4 J+ ?1 Q0 }0 A& N& p, x6 r5 k3 K |