清华编程高手尹成带你基于算法实践python量化交易

量化交易是指以先进的数学模型替代人为的主观判断,利用计算机技术从庞大的历史数据中海选能带来超额收益的多种“大概率”事件以制定策略,极大地减少了投资者情绪波动的影响,避免在市场极度狂热或悲观的情况下作出非理性的投资决策。

定量投资和传统的定性投资本质上来说是相同的,二者都是基于市场非有效或弱有效的理论基础。两者的区别在于定量投资管理是“定性思想的量化应用”,更加强调数据。量化交易具有以下几个方面的特点:

1、纪律性。根据模型的运行结果进行决策,而不是凭感觉。纪律性既可以克制人性中贪婪、恐惧和侥幸心理等弱点,也可以克服认知偏差,且可跟踪。

2、系统性。具体表现为“三多”。一是多层次,包括在大类资产配置、行业选择、精选具体资产三个层次上都有模型;二是多角度,定量投资的核心思想包括宏观周期、市场结构、估值、成长、盈利质量、分析师盈利预测、市场情绪等多个角度;三是多数据,即对海量数据的处理。

3、套利思想。定量投资通过多面、系统性的扫描捕捉错误定价、错误估值带来的机会,从而发现估值洼地,并通过买入低估资产、卖出高估资产而获利。

4、概率取胜。一是定量投资不断从历史数据中挖掘有望重复的规律并加以利用;二是依靠组合资产取胜,而不是单个资产取胜。

量化投资技术包括多种具体方法,在投资品种选择、投资时机选择、股指期货套利、商品期货套利、统计套利和算法交易等领域得到广泛应用。在此,以统计套利和算法交易为例进行阐述。

1、统计套利 [1]

统计套利是利用资产价格的历史统计规律进行的套利,是一种风险套利,其风险在于这种历史统计规律在未来一段时间内是否继续存在。

统计套利的主要思路是先找出相关性most好的若干对投资品种,再找出每一对投资品种的长期均衡关系(协整关系),当某一对品种的价差(协整方程的残差)偏离到一定程度时开始建仓,买进被相对低估的品种、卖空被相对高估的品种,等价差回归均衡后获利了结。股指期货对冲是统计套利较常采用的一种操作策略,即利用不同国家、地区或行业的指数相关性,同时买入、卖出一对指数期货进行交易。在经济全球化条件下,各个国家、地区和行业股票指数的关联性越来越强,从而容易导致股指系统性风险的产生,因此,对指数间的统计套利进行对冲是一种低风险、高收益的交易方式。

2、算法交易。

算法交易又称自动交易、黑盒交易或机器交易,是指通过设计算法,利用计算机程序发出交易指令的方法。在交易中,程序可以决定的范围包括交易时间的选择、交易的价格,甚至包括most后需要成交的资产数量。

算法交易的主要类型有: (1) 被动型算法交易,也称结构型算法交易。该交易算法除利用历史数据估计交易模型的关键参数外,不会根据市场的状况主动选择交易时机和交易的数量,而是按照一个既定的交易方针进行交易。该策略的的核心是减少滑价(目标价与实际成交均价的差)。被动型算法交易most成熟,使用也most为广泛,如在国际市场上使用most多的成交加权平均价格(VWAP)、时间加权平均价格(TWAP)等都属于被动型算法交易。 (2) 主动型算法交易,也称机会型算法交易。这类交易算法根据市场的状况作出实时的决策,判断是否交易、交易的数量、交易的价格等。主动型交易算法除了努力减少滑价以外,把关注的重点逐渐转向了价格趋势预测上。 (3) 综合型算法交易,该交易是前两者的结合。这类算法常见的方式是先把交易指令拆开,分布到若干个时间段内,每个时间段内具体如何交易由主动型交易算法进行判断。两者结合可达到单纯一种算法无法达到的效果。

算法交易的交易策略有三:一是降低交易费用。大单指令通常被拆分为若干个小单指令渐次进入市场。这个策略的成功程度可以通过比较同一时期的平均购买价格与成交量加权平均价来衡量。二是套利。典型的套利策略通常包含三四个金融资产,如根据外汇市场利率平价理论,国内债券的价格、以外币标价的债券价格、汇率现货及汇率远期合约价格之间将产生一定的关联,如果市场价格与该理论隐含的价格偏差较大,且超过其交易成本,则可以用四笔交易来确保无风险利润。股指期货的期限套利也可以用算法交易来完成。三是做市。做市包括在当前市场价格之上挂一个限价卖单或在当前价格之下挂一个限价买单,以便从买卖差价中获利。此外,还有更复杂的策略,如“基准点“算法被交易员用来模拟指数收益,而”嗅探器“算法被用来发现most动荡或most不稳定的市场。任何类型的模式识别或者预测模型都能用来启动算法交易。

量化交易一般会经过海量数据仿真测试和模拟操作等手段进行检验,并依据一定的风险管理算法进行仓位和资金配置,实现风险most小化和收益most大化,但往往也会存在一定的潜在风险,具体包括:

1、历史数据的完整性。行情数据不完整可能导致模型与行情数据不匹配。行情数据自身风格转换,也可能导致模型失败,如交易流动性,价格波动幅度,价格波动频率等,而这一点是量化交易难以克服的。

2、模型设计中没有考虑仓位和资金配置,没有安全的风险评估和预防措施,可能导致资金、仓位和模型的不匹配,而发生爆仓现象。

3、网络中断,硬件故障也可能对量化交易产生影响。

4、同质模型产生竞争交易现象导致的风险。

5、单一投资品种导致的不可预测风险。

为规避或减小量化交易存在的潜在风险,可采取的策略有:保证历史数据的完整性;在线调整模型参数;在线选择模型类型;风险在线监测和规避等。

量化策略是指使用计算机作为工具,通过一套固定的逻辑来分析、判断和决策。量化策略既可以自动执行,也可以人工执行。 [2]

一个完整的量化策略包含哪些内容?

一个完整的策略需要包含输入、策略处理逻辑、输出;策略处理逻辑需要考虑选股、择时、仓位管理和止盈止损等因素。

选股

量化选股就是用量化的方法选择确定的投资组合,期望这样的投资组合可以获得超越大盘的投资收益。常用的选股方法有多因子选股、行业轮动选股、趋势跟踪选股等。

1 多因子选股

多因子选股是most经典的选股方法,该方法采用一系列的因子(比如市盈率、市净率、市销率等)作为选股标准,满足这些因子的股票被买入,不满足的被卖出。比如巴菲特这样的价值投资者就会买入低PE的股票,在PE回归时卖出股票。

2 风格轮动选股

风格轮动选股是利用市场风格特征进行投资,市场在某个时刻偏好大盘股,某个时刻偏好小盘股,如果发现市场切换偏好的规律,并在风格转换的初期介入,就可能获得较大的收益。

3 行业轮动选股

行业轮动选股是由于经济周期的的原因,有些行业启动后会有其他行业跟随启动,通过发现这些跟随规律,我们可以在前者启动后买入后者获得更高的收益,不同的宏观经济阶段和货币政策下,都可能产生不同特征的行业轮动特点。

4 资金流选股

资金流选股是利用资金的流向来判断股票走势。巴菲特说过,股市短期是投票机,长期看一定是称重机。短期投资者的交易,就是一种投票行为,而所谓的票,就是资金。如果资金流入,股票应该会上涨,如果资金流出,股票应该下跌。所以根据资金流向就可以构建相应的投资策略。

5 动量反转选股

动量反转选股方法是利用投资者投资行为特点而构建的投资组合。索罗斯所谓的反身性理论强调了价格上涨的正反馈作用会导致投资者继续买入,这就是动量选股的基本根据。动量效应就是前一段强势的股票在未来一段时间继续保持强势。在正反馈到达无法持续的阶段,价格就会崩溃回归,在这样的环境下就会出现反转特征,就是前一段时间弱势的股票,未来一段时间会变强。

6 趋势跟踪策略

当股价在出现上涨趋势的时候进行买入,而在出现下降趋势的时候进行卖出,本质上是一种追涨杀跌的策略,很多市场由于羊群效用存在较多的趋势,如果可以控制好亏损时的额度,坚持住对趋势的捕捉,长期下来是可以获得额外收益的。

择时

量化择时是指采用量化的方式判断买入卖出点。如果判断是上涨,则买入持有;如果判断是下跌,则卖出清仓;如果判断是震荡,则进行高抛低吸。

常用的择时方法有:趋势量化择时、市场情绪量化择时、有效资金量化择时、SVM量化择时等。

仓位管理

仓位管理就是在你决定投资某个股票组合时,决定如何分批入场,又如何止盈止损离场的技术。

常用的仓位管理方法有:漏斗型仓位管理法、矩形仓位管理法、金字塔形仓位管理法等

止盈止损

止盈,顾名思义,在获得收益的时候及时卖出,获得盈利;止损,在股票亏损的时候及时卖出股票,避免更大的损失。

及时的止盈止损是获取稳定收益的有效方式。

策略的生命周期

一个策略往往会经历产生想法、实现策略、检验策略、运行策略、策略失效几个阶段。

产生想法

任何人任何时间都可能产生一个策略想法,可以根据自己的投资经验,也可以根据他人的成功经验。

实现策略

产生想法到实现策略是most大的跨越,实现策略可以参照上文提到的“一个完整的量化策略包含哪些内容?”

检验策略

策略实现之后,需要通过历史数据的回测和模拟交易的检验,这也是实盘前的关键环节,筛选优质的策略,淘汰劣质的策略。

实盘交易

投入资金,通过市场检验策略的有效性,承担风险,赚取收益。

策略失效

市场是千变万化的,需要实时监控策略的有效性,一旦策略失效,需要及时停止策略或进一步优化策略。

python统计套利_清华编程高手尹成带你基于算法实践python量化交易相关推荐

  1. python一元线性回归算法_6一元线性回归_清华编程高手尹成带你基于算法实践python量化交易_其他视频-51CTO学院...

    清华编程高手尹成带你基于算法实践python量化交易 量化交易是指以先进的数学模型替代人为的主观判断,利用计算机技术从庞大的历史数据中海选能带来超额收益的多种"大概率"事件以制定策 ...

  2. python算法交易工程师_清华编程高手尹成带你基于算法实践python量化交易

    清华编程高手尹成带你基于算法实践python量化交易 量化交易是指以先进的数学模型替代人为的主观判断,利用计算机技术从庞大的历史数据中海选能带来超额收益的多种"大概率"事件以制定策 ...

  3. python 图片识别 机械手_6图片识别物品_清华编程高手尹成带你用python大战机器学习_机器学习视频-51CTO学院...

    清华编程高手尹成带你用python大战机器学习 机器学习是一门多领域交叉学科,涉及概率论.统计学.逼近论.凸分析.算法复杂度理论等多门学科.专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或 ...

  4. access求斐波拉契数列_access函数_清华编程高手尹成带你实战C/C++编程_C/C++/C#视频-51CTO学院...

    课程开始让学生了解多平台编程环境的搭建,认识多个操作系统(android,ios,windows,mac os ,linux,unix,ubuntu)并在这些平台上执行c/cpp开发的工具集软件.让单 ...

  5. python统计套利_「手把手教你」使用Python实现统计套利

    文章转载自公众号 人工智能量化实验室 , 作者 Frankie的账号 一.交易对象选取 我们以商品期货市场的螺纹钢品种的跨期套利为例,选取两组不同到期月份的同种商品期货合约作为交易对象. 相关性检验 ...

  6. python统计套利_统计套利初步尝试——组合建立(一)

    近期突发奇想,想对统计套利在商品期货市场的应用进行一些初步尝试,不是什么新方法,如<圣经>中的一句老话:太阳底下没有新鲜事.只希望能抛砖引玉,得到更多前辈的指导.废话不多,直入正题: 一. ...

  7. python统计套利_期货市场内外盘低频统计套利基于Python

    首先导入本节需要使用的abupy中的模块: AQF杂谈丨算法交易之父托马斯•彼得菲最成功的一段经历是利用当时最快的计算机,租赁独享电话线以保证数据传输畅通无阻,甚至超越时代定制平叛电脑,使用统计套利在 ...

  8. python统计套利_统计套利(二),利用协整关系进行配对交易【原文】

    之前我们谈到了利用两只股票之间的相关系数进行配对交易,但我们能通过两只相关性较高的股票对之间的差价图看出,相关性高他们之间的价差并不一定会是一个平稳序列,简单来说我们无法利用这个不收敛的价差来进行套利 ...

  9. python星星万花筒_少儿编程分享:码趣君教你用Python编写推星星游戏(完)

    这是推星星游戏的最后一期了 希望每个学习了的同学都能制作出你自己的推星星游戏 记得巩固好知识噢~ Drawing the Map绘制地图 535. def drawMap(mapObj, gameSt ...

最新文章

  1. 为什么以太坊能成为区块链2.0的代表之作?
  2. 使用cglib创建代理对象
  3. 微信开发之——Ubuntu Apache2的https域名配置
  4. 没有该栏目数据 可能缓存文件(data/cache/inc_catalog_base.inc)没有更新请检查是否有写入权限...
  5. syslog传到服务器日志文件,将supervisor产生的日志通过syslog上传到服务端
  6. ubuntu下针对php的thrift 安装折腾记录
  7. 建站手册-网站构建:万维网联盟(World Wide Web Consortium)
  8. 杨百翰大学计算机科学专业,杨百翰大学计算机科学硕士.pdf
  9. 计算机公司客户电话怎么打,企业微信公费电话怎么打多人通话【方法】
  10. ad如何计算电路板的pin数量_各类EDA软件统计pin数方法
  11. 【C语言】Bingo 猜数字
  12. 程序员副业之如何利用空余时间从博客中赚钱?
  13. Espressif 玩转 固件下载
  14. PRESTO SQL总结分享
  15. easyui datagrid列表右侧空白解决办法
  16. might和could的区别用法_综合能力_谁知道Can、Could、May和Might的区别__沪江网
  17. 基于数据中台的数据治理解决方案
  18. PIL/Image的show()函数
  19. html字体左右移动快捷键,word字体下标快捷键
  20. 优化命令----sar命令

热门文章

  1. FPGA----VHLS补丁及采用LU分解(Chosky分解)求解矩阵的逆
  2. 推荐系统实践(八)UCG 利用ltf-idf方法
  3. android人脸识别——HowOld测测你的年龄和性别
  4. Qt显示当前时间(年-月-日 时:分:秒 周几)
  5. matlab 沃尔什矩阵,压缩感知——沃尔什-哈达玛(WHT)变换与逆变换的Matlab代码实现...
  6. Bootstrap抽样和Monte Carlo思想
  7. 前端js以application/octet-stream方式上传文件
  8. linux硬盘添加和挂载(linux硬盘的热插拔)
  9. 定时器 java qua_【spring-boot】 springboot整合quartz实现定时任务
  10. python怎么把字体变大_Pycharm 字体大小调整设置的方法实现