【零基础】极星量化入门八:简单的boll实盘

一、前言

  前一篇已经讲了boll的回测,那这里为啥又要说实盘呢?因为实盘运行与回测还是有些区别的。这里说的实盘是包括实盘模拟和实盘交易的,二者都是利用最新的行情做交易,这篇就讲一下最近关于实盘的心得。

二、代码修改

  整体上实盘的代码与回测是差不多的,但是有几个要点注意和修改。

  1、成交价格

  在回测时我们使用的是K线收盘价+滑点,滑点只是模拟而已,回测的成交价还是我们制定的。但是在实盘时价格能否成交我们是不确定的,事实上我也遇到过对盘价+2个滑点结果没成交,一晚上过去这个持仓亏损2000多。所以实盘阶段首先要改的是价格不能再用Close了,要用“对盘价”,比如你是买入则需要用卖一价,而且还得再加上2个点(甚至有人用涨跌停价的)。

   2、有可能平仓不成功

  实盘时什么情况都可能出现,比如Buy指令是先平空再开多的,回测自然是没有问题,但是在实盘中很可能出现平仓、开仓实盘的情况。那这个持仓会一直在,到了反向策略被触发时可能才被平掉。所以我们可以简单的加几行代码,首先未成交的全部撤单,然后平掉所有仓位,再根据需要开仓。还有些极端情况,比如涨跌停啥的,需要另外处理了。

  3、实盘也需要历史数据

  有些童鞋认为既然是实盘了,那历史数据要不要都行的。其实不然,一般都是通过某个指标进行交易的,这些指标计算也需要数据。如果等到即时行情提供了足够的数据做计算,说不定你已经错过了一波行情,所以我一般先订阅足够的历史行情,再加上一个判断等待历史行走完,并判断计算指标需要的行情是否足够。

  4、启动即下单的问题

  有一些指标是判断AB两个数的大小的,这也就导致策略启动时就可能下单(因为AB两个数必定是有一个大,可能下多也可能下空)。这样早早下单可能行情正好在向相反方向走,所以一般建议是下一次“翻转”时才做第一次交易。

  如上图所示的策略,启动时是做多信号,但行情其实开始下行了。在左侧的箭头处就开始下单的话会有较大可能亏损,所以建议在右侧第二个箭头处,策略由多转空的时候再开始交易。具体实现就根据不同策略自己写了,boll不存在这个问题就没做。

三、回顾

  实盘大体上与回测差不多,只是有些问题注意下就好了。完整代码可以关注公众号“零基础爱学习”回复“LH10”获取。

原文地址:https://www.cnblogs.com/cation/p/12565414.html

时间: 2024-08-29 17:59:47

【零基础】极星量化入门八:简单的boll实盘的相关文章

蓝鸥零基础学习HTML5第八讲 样式布局一

蓝鸥零基础学习HTML5第八讲 样式布局一 1.浮动到底是什么鬼 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Document</title> <style> /*body { font-size:0px; }*/ div { width:100px; height:100px; text-align: center; line

蓝鸥零基础学习HTML5第八讲 样式布局二

蓝鸥零基础学习HTML5第八讲 样式布局二 1.定位的属性及特性 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Document</title> <style> #box1 { width:400px; height:400px; border:10px solid red; margin:0 auto; position: re

教你零基础如何快速入门大数据技巧

现在是大数据时代,很多人都想要学习大数据,因为不管是就业前景还是薪资都非常的不错,不少人纷纷从其他行业转型到大数据行业,那么零基础的人也想要学习大数据怎么办呢?下面一起探讨下零基础如何快速入门大数据技巧吧. 很多人都需要学习大数据是需要有一定的基础的,编程语言就是必备的条件之一,编程语言目前热门的有:Java.Python.PHP.C/C++等等,无论是学习哪一门编程语言,总之要精细掌握一门语言是非常必须的,我们先拿应用广泛的Java说起哦. .在入门学习大数据的过程当中有遇见学习,行业,缺乏系

【零基础】极星量化入门四:实现条件单功能

一.前言 最近有个童鞋反应A_SendOrder()自带的条件单功能不是很好用,主要是触发后的报单价格不灵活,于是我就想仿照9.3实现一个条件单的功能.主要的功能如下: 1.设置一个触发条件和委托价格 2.达到触发条件后按委托价格提交委托,返回订单编码 整个逻辑是很简单的,主要解决的问题是触发后的委托价问题. 二.代码解析 1.简述 为了便于使用,我定义了一个类,除了初始化,一共只有两个函数. class ConditionOrder(object): #初始化 def __init__(sel

开始系列教程:Java零基础七天入门

本教程雄心勃勃,保证七天之内从零基础开始,学会java,达到什么程度呢? 很简单:达到之后可以自学android和J2EE开发的程度. 不一样的思路,敬请期待...

【零基础】快速入门mini爬虫框架HtmlUnit

迅速的HtmlUnit htmlunit是一款开源的web页面分析工具,理论上来说htmlunit应用于网页的自动化测试,但是相对来说更多人使用它来进行小型爬虫的快速开发.使用htmlunit进行爬虫开发不仅是其运行速度快,更重要的是此框架上手更为容易(相对于POST.selenium). 基本环境 1.java,首先你得安装好javaSDK(版本随意).编译器(eclipse) 2.HtmlUnit,项目以jar文件的形式发布,可以上官网下载最新版本(htmlunit-2.35.0-bin.z

零基础学python-5.1 数字简单介绍

1.创建数值对象并赋值 a=1#整数 b=1.1#浮点数 c=1.23e5#实数 d=1.23+4.56j#虚数 2.更新数值对象 注意:由于数值对象是不可变,所以与其说更新,还不如说把变量名从一个对象摘下,贴到还有一个新的对象上去 从上图能够看见尽管相同赋值1000,可是两者的id是不同的,代表不同的对象,仅仅只是是值相同而已 3.删除数值对象 依据第二点,事实上一般所谓的删除事实上就是不使用那个数值对象,假设严格来说删除,那么就须要用到del这个keyword 在运行del操作之后,a事实上

大数据零基础学习hadoop入门教程

1.Hadoop生态概况 Hadoop是一个由Apache基金会所开发的分布式系统集成架构,用户可以在不了解分布式底层细节情况下,开发分布式程序,充分利用集群的威力来进行高速运算与存储,具有可靠.高效.可伸缩的特点 Hadoop的核心是YARN,HDFS,Mapreduce,常用模块架构如下 ? 2.HDFS 源自谷歌的GFS论文,发表于2013年10月,HDFS是GFS的克隆版,HDFS是Hadoop体系中数据存储管理的基础,它是一个高度容错的系统,能检测和应对硬件故障 HDFS简化了文件一致

零基础HTML5游戏入门教程 第1章

第一章 绪论 HTML一直是网络编程的基石,其他任何编程语言,不论是PHP.Phython.CSS还是 JavaScript,都必须以HTML为基础. 上一代的标准,HTML4.01在1999年制定之后,统治互联网长达15年,越来越跟不上飞速发展的网络的步伐,尤其是在无线互联日益普及的今天.终于,在多年的争论和妥协之后,万维网联盟(W3C)在1个月前发布了HTML新标准.让我们一起来迎接我们的新王者HTML5. HTML5对网络的提升是多方面的,本教程只关注游戏方面.其实HTML5是一个相当不错