我们用量化交易的目的就是让程序全自动地去跑策略,全自动的去执行交易,所以大家非常关心全自动下单的实现。
对个人交易者来说,如果是期货交易,程序化交易的限制没有股票那么严格,毕竟市场影响比股票小,像上期所CTP、中金所飞马、大商所飞创以及郑商所易盛,这些柜台系统都可以实现,像交易开拓者(TB)、文华财经以及金字塔等带有脚本功能的软件,也对接了某一柜台系统。
而股票的自动化交易在2015年之后就被管制了。像华宝证券的LTS,兴业证券CTP 股票交易系统,在监管政策出来之后,也都限制了。当然现在像米筐Ricequant,聚宽Joinquant,掘金Myquant,优矿Uqer 这些回测平台,也可以通过平台把信号生成与券商柜台自动交易连接起来,也有一些开源的量化框架用模拟登陆方式下单。
不过我倒是觉得全自动下单对个人交易者来说倒不是需求特别的强烈,因为股票交易的规则本身就限制你的交易频率,除非你的策略代码非常健壮,资金非常雄厚,用“一篮子股票”这种策略去规避风险,否则的话手动下单会更靠谱些,毕竟是真金白银,哪天程序跑飞了把你的股票都清仓了,真的就悲剧了。
当然了,手动下单可不等于盯盘哦,“人生苦短,我用Python”,我们可以用Python给手机发交易消息,然后手动下单或者用券商APP上的条件单下单,这样就可以去干别的事情了。。。。
我们采用的技术方案是用Python玩微信的库—— wxpy。wxpy在itchat 的基础上,通过大量接口优化提升了模块的易用性,并进行丰富的功能扩展。
以下是官网【https://github.com/youfou/wxpy】的介绍,关于一些常见的场景:
总而言之,可用来实现各种微信个人号的自动化操作
国内用户安装方式推荐从豆瓣PYPI 镜像源下载安装:
pip install -U wxpy -i "https://pypi.doubanio.com/simple/"
上手非常简单,就这么几步,登陆微信、找到好友、发送消息:
# 初始化机器人,扫码登陆
bot = wxpy.Bot()
# 搜索名称含有 "元宵大师" 的男性杭州好友
my_friend = bot.friends().search('元宵大师', sex=wxpy.MALE, city="杭州")[0]
my_friend.send(signal_sell_a + "n"+ signal_sell_b)
my_friend.send_image('myplot.png') # 发送图片
我是单独申请一个小号来运行机器人的,扫描登陆后就行。我们可以在量化策略框架中加入这部分代码接口,最好把课程中讲的买卖交易区间图也一同发到手机上,可以清楚看到当前交易的位置。
接下来,我们在回测框架上加上去看看实现的效果,代码已经更新到小册的中了,大家可以在小册中查看。
以下是回测新希望股票的交易信号和买卖区间图:
17-02-10 账户A 买入股票:000876 买入价格:8.13 买入股数:12300
17-02-10 账户B 买入股票:000876 买入价格:8.13 买入股数:11800
17-03-10 账户A 卖出股票:000876 卖出价格:8.06 卖出股数:12300
17-03-10 账户B 卖出股票:000876 卖出价格:8.06 卖出股数:11800
17-03-24 账户A 买入股票:000876 买入价格:8.27 买入股数:11900
17-03-24 账户B 买入股票:000876 买入价格:8.27 买入股数:10300
17-03-29 账户A 卖出股票:000876 卖出价格:8.11 卖出股数:11900
……
19-10-18 账户B 卖出股票:000876 卖出价格:18.06 卖出股数:1300
19-10-22 账户A 买入股票:000876 买入价格:19.3 买入股数:4900
19-10-22 账户B 买入股票:000876 买入价格:19.3 买入股数:1400
19-11-01 账户A 卖出股票:000876 卖出价格:22.09 卖出股数:4900
19-11-01 账户B 卖出股票:000876 卖出价格:22.09 卖出股数:1400
运行程序后的登陆信息,如下所示:
Getting uuid of QR code.
Downloading QR code.
Please scan the QR code to log in.
Please press confirm on your phone.
Loading the contact, this may take a little while.
TERM environment variable not set.
Login successfully as [][]元宵大师-1[][]
手机上收到的信息如下所示:
虽然是半自动化的交易,但是同样的可控性会好一些,当然如果代码经过多轮测试之后,已经完全稳定了,我们可以用全自动的实现方案,大家关注后续的文章吧。
超高性价比量化交易课程juejin.im超值的41节课程!从目录就能看出来!
1-贯穿小册:Python金融数据分析实战型项目
2-前置基础:量化交易及应用场景简介
3-前置基础:开发环境及基础工具说明
4-前置基础:创建一个Python文件的细节
5-前置基础:Python变量类型及动态特性
6-前置基础:玩转Python遍历工具for..in
7-前置基础:无可或缺的Python异常处理
8-前置基础:NumPy模拟随机漫步理论
9-前置基础:Pandas构建DataFrame股票数据
10-前置基础:Matplotlib函数式绘图的方式
11-前置基础:Matplotlib对象式绘图的方式
12-前置基础:Matplotlib模拟随机漫步轨迹
13-前置基础:从概率角度谈市场中的博弈
14-股票数据获取:Pandas金融模块获取股票数据
15-股票数据获取:差异化分析常用股票数据接口
16-股票数据获取:详解网络爬虫的原理和过程
17-股票数据获取:爬虫方式获取行业板块数据
18-股票数据获取:爬虫抓取东方财富网股吧帖子
19-股票数据分析:全方位访问DataFrame格式股票数据
20-股票数据分析:遍历DataFrame格式股票数据的方法
21-股票数据分析:股票分时明细数据的处理与转换
22-股票数据分析:除权数据前复权和后复权处理
23-股票数据可视化:自定义Matplotlib版股票行情界面
24-股票数据可视化:pyecharts实现Web版股票行情界面
25-股票数据可视化:pyecharts从V0.5至V1版的转变
26-股票数据可视化:TA-Lib技术指标库的扩展应用
27-股票数据可视化:用TA-Lib封装更灵活的指标库
28-股票交易策略:线性回归算法建立选股策略
29-股票交易策略:基于欧奈尔RPS指标选股策略
30-股票交易策略:海龟择时策略入门量化交易
31-股票交易策略:收益与风险维度度量策略效果
32-股票交易策略:择时策略融入ATR风险管理
33-股票交易策略:择时策略融入ATR动态仓位管理
34-股票交易策略:蒙特卡洛算法最优化策略参数
35-股票交易策略:基于凯利公式的仓位管理
36-量化策略回测:扒一扒量化回测中常见的陷阱
37-量化策略回测:创建属于自己的回测框架
38-量化策略回测:基于BackTrader建立双均线策略
39-远程下单方案:微信机器人实时提醒交易
40-效率优化措施:Python扩展C/C++加速执行
41-结尾篇:贯穿知识点才能学以致用
微信关注:元宵大师带你用Python量化交易