粉丝64获赞644

大家好,呃,欢迎大家观看一量化出品的呃这个教程叫做量化交易 python 零基础教程。 呃,我们为什么要搞这个教程呢?呃因为一开始我开始学量化的时候呢,就感觉到非常的苦恼,因为我们在网上并没有非常合适的这个教程,基本上讲拍摄的教程都是 呃为这个程序员定制的,就是程序员拿到这个教程了以后去学习,然后去找工作。那我们这个教程是怎么回事?怎么回事呢?我们这个教程是 专门为呃要做量化交易的这一部分人去去做的,那他的特点就是说需要我们学的,就是在 呃量化里面需要我们去了解的这些这部分知识呢,我们就呃重点的去学习,那不需要我们了解的,我们就 稍微带一下,就是让大家稍微了解一下,有这么一个东西就可以了。那这个教程适合什么样的人学习呢? 嗯,我们我们这个教程竟然叫做零基础,就是说呃你可能呃之前在学校里面学 学过一点 crvb 之类的,那当然更好,那你可能什么也没有学过,你甚至都是嗯学的什么文科的这些这些东西,那可不可以学呢?也可以。 当然我们说的这个零基础并不是说哎,你说哎,哥们,我这个电脑我从来没有摸过,我也不会开机,那你说我能不能学 啊?那那那那肯定不行啊。再有一个我们认为呃非常重要的一点就是 你要善于使用这个百度,有什么问题先去问度量吗?你可以这样来讲,基本上你需要 要学习的东西在百度上面都可以找到,只是说我们这个教程呢,我们把它给呃系统化的 去,去把这些知识点给他讲解一遍,而不是说我们重新,大家重新去网上这样去搜集。 咱们看这个哈。就是学完这个教程以后啊,你说兄弟,我学完这个教程以后,我能达到一个什么程度呢?

用 pass on 如何做量化?按照这五步来,一用 to 事或者这个 dot 获取股票数据。 二用 pandas 进行数据分析。三用 taliba 进行技术指标计算。四用 profinements 进行 k 线绘制。五用 pibaccas 进行本地回册。

哈喽,大家好,这期视频我们来看一下如何通过拍摄的 api 来获取股票数据。获取股票数据有三种方式,一种是通过爬虫啊,我们自己到东方财富的网站上去爬取他, 那这样的话呢,会比较费时费力,因为有非常多的数据,当然也可以自己写接口,但是会非常费时费力。然后第二种方式呢,是通过数据服务商,也就是通过问的蓬勃或者是操控软件,他们会提供这样的一个付费的接口,一年几万块钱。 然后第三种方式呢,就是通过一些免费的接口,比如说一些量化交易平台,开源代码库,那这个他给你提供了一些试用的是免费的接口,你可以获取到很多数据。那我们采取第三种方式啊,因为他是免费的吧,是吧?我们来看到这里的巨宽社区这里,那我们打开这个网站之后 呢,我们可以看到啊,这就是一个量化的交易的一个社区,那这里他会给你提供一些数据,当他也有会员在这里呢,我们来看一下我们怎么去获取到我们的想要的数据。我们先来了解一下这个网站,这个网站呢,他提供 很多东西,不是说策略研究、数据字典,社区等等啊,在这里呢,我们来切换到他的数据字典这里 可以看到他这里提供了股票数据,行业概念数据,他的股票数据包括全面的行情,财务基本面的数据,然后还提供指数的数据,宏观经济数据,期货数据等等,他提供的数据还是挺多的。那在这里呢,我们主要用的是股票数据,我们可以点击进去 看一下他给你提供的这些股票的数据啊,已经给你按照这种菜单等级给分类好了,是吧?比如说你获取单支股票的数据, 可以用这种 api 的接口给你写好了,是吧?那这里呢,他们都会给你提供一个接口,然后给你提供一个具体的他的参数的含义,然后具体的调用的实力,是吧? 就是看起来很简单,那在这里呢,我们怎么去调用它呢?实际上除了这个数据字典的入口,这里还会有一个本地数据,我们通过拍摄版的 api 调用会更加的方便,是吧?这里的 有非常全的一个接口的说明和使用文档,我们来通过这个路口来了解怎么去使用这个网站给你提供的接口,是吧?那首先呢,我们来看一下 这个最基础的介绍,在这里呢,他会给你一些就是数据说明 书,是吧?呃,芙蓉 jqdit sdk 引破的心,是吧?那我们来看下他的介绍和说明吧,主要是这里首先呢我们会了解如何去开通这个 jq dit 啊,就是主要因为这个 dty 我们来如何开通, 首先呢,我们他需要去提交试用的申请,就能得到六个月的有效期的试用账号,是吧?试用账号在试用期内可以免费调用他的全部基础数据,每天可以调用一百万条,具体的试用权限呢,是吧?这都是数据。好,那我们现在就来提交试用申请呢, 在这里你需要填写各种数据,最重要的是你填写正确的手机号,然后呢他会给你输入一个验证码,你获取验证码之后点击确认提交,他就会给你 一个账号了,具体的方式呢,我在这里截图上大家也可以看一下,就是如果你写好了之后呢,他会给你一个提供给你一个账号还有密码,密码就是账号的后六位,然后你直接登录即可,是吧?在这里呢我直接登录一下啊, 那因为我之前已经注册好了,所以我这里就直接登录了,登录完成后呢,你看就会显示这个东西,是吧? 我们来看一下,我们就是说这样的话我们就弄好了,接下来呢我们开通完成之后呢,我们要看什么东西呢?就是说我们来看如何安装和使用这个, 这里呢他会给你提供一些的步骤,安装就是拍片做,然后升级就是拍片做杠优, 对吧?然后使用他呢就是芙蓉,这使用他呢就是芙蓉 jqds dk 影破心。然后在这里呢输入你的账号和密码,就可以调用他的接口了,就可以获取数据,所以呢这里我们把最基本的概念介绍完成之后呢,我们就来实干一下啊, 首先呢我们来看一下,我们要安装这个 sdk, 那首先我们来创建一个脚本,是吧?能创建一个 叫做虚幻世俗的块头的一个项目,然后我们在这里创建好这么一个项目啊,项目 里面呢我们就可以通过 fyle oppo 的,这是威斯扣的,关于如何使用威斯扣的来去编写牌程代码,这些都是比较基础的东西, 大家呢自己去了解就可以了。那在这里呢,我们直接去打开刚刚创建的那个文件夹,比如说就是 hipad, 是吧?我们选择这个文件夹,那这样的话呢,在里面 我们就来创建一个文件夹,因为我们这一次主要是获取数据,他就是数据端,所以我们给他创建一个 对他的文件,然后呢文件夹,然后在里面我们创建一个 stop 点 py, 获取股票行情数据的一个拍摄脚本文件,那这里呢,我们就可以,虽然很简单,我们 直接来到他的官网,根据官网来编程。首先呢我们需要安装这个库啊,安装这个库很简单,我们先运行一下这个脚本,然后他会弹出一个中端,是吧?我们直接 happy 数这个,然后他就会安装了, 安装的过程呢,可能会比较长啊,因为他这个库还是比较大的,我们稍等一下,然后在后面的话呢,我们会把这个登录这个 sdk, 我们需要登录他,是吧?那这里已经安装好了,安装好了之后呢,我们就要把刚刚的代码给他粘贴过来, 那这里呢我们就睡去把它引入进来,然后这里输入的是账号和密码,账号呢就是 你申请的账号, 密码呢就是账号的后六位,是吧?然后我们运行一下 这里,因为我装了很多个版本的拍摄呢,所以我需要先运行 cmd, 可以看到我的是在空的,第一个的拍摄是在空的的拍摄点 ex e, 那我们选中这个啊,选中这个来继续在直行 这里的 安装啊,因为刚刚可能安装到其他的,因为拍摄路径有很多,我安装了很多个版本,所以在这里呢,那如果你安装一个版本是没有这个问题的,是吧?那我弄好了之后呢,我们再次运行一下, 这时候是通过空的点拍成 exce 来运行这个拍摄文件,可以看到是没问题的提示,我已经成功登陆了,对吧?好的,那这样的话呢,我们就成功的去能够去登录并且使用他的接口了。 那接下来呢,我们来看一下,就是我们如何来获取行情的数据,在这里呢,他会给你提供了这么多的数据啊,有股票的,期货的,基金的, 指数的,齐全的,债券的都有,但是呢,我们只需要获得股票的行情数据,我们点击他,然后在这里呢,我们可以看到这里会有一个 getpars, 他就是获得一天或者每分钟的行情数据,是吧?在这里呢,他会有这个接口 和他对你的参数以及他的一些说明,是吧?然后呢会给你给每个参数呢介绍, 然后是 feel 啊,这也是一个参数的一个介绍,是吧?比较详细的介绍。那在这里呢,我们可以看到他的代码失利啊,我们直接 给他 copy 过来复制,然后呢我们到这里 给他粘贴上去, 为了方便演示,我分了三行啊,首先到这里我们看一下,我们先来运行一下,先运行一下代码, 哎,大家可以看到这里呢,就会得到一个这样的结果,是吧?然后这是我们钓的方式,我们简单给大家解释一下, getplax, getplaxxsh 一是什么东西呢? xs h 一, 我们来看啊, xsh g 就是上海证券交易所, xsh 一就是深圳证券交易所, 也就是说我们这个是股票代码为零零零零零一的深圳政权交易所,大家可以知道这个是平安银行是吧?也就是说他是个股票代码,加上他的交易所才能确定我是 获取哪一个股票的行情数据,是吧?然后呢艾特嘚特,就是他截止你要获取到这个 行情数据的截止时间,然后 ctrl 等于四呢,就是你要获取四条数据,你看这里有四条,是吧?截止时间是二零一五年一月三十号 两点的前面四分钟,是吧?因为他是以每分钟为一个福利款式去调用获取这个接口的,然后 fuze 呢,就是他的一个列的字段,比如说 opple, closhill, 忙,你是吧?都在这里。好,那这样的话呢,就是这个行情数据的一个接口啊,是吧?我们成功的去获取到了这个行情数据, 那关于它里面的详细的参数介绍呢?大家实际上可以在这里都能看得到,这里的话呢就是我们就可以去 仔细看,如果你有别的要求的话,你就可以换一下这里的一个参数,是吧?那我们接下来看,我们接下来看一下,接下来呢我们来测试一下, 我们刚刚只是大致讲解了一下,比如说我把这想获取十条数据,是吧?我想获取二零二一年 五月三十号的数据之前的数据,然后呢我想按照天来获取,叫做一的啊,对吗?是吧?一天,然后运行一下, 那这里就大家就可以看到,这只是五月二十八号啊,五月二十九号,刚好就是周末,是吧?五月二十七,五月二十六,五月二十五,他是按天来获取获取了十条, 然后呢是以五月二十八号,就是五月三十号之前的那两个数据来获取,是吧?那这样的话呢?哎,符合我们的预期,我们测试就成功了。 接下来呢,我们来教验一下这些数据是否正确,因为有可能他的数据是错的啊,那这样的话呢,我们通过这种量化交易呢,得到的结果也肯定是错的,是吧?那有了这些数据之后呢,我们来对照一下,怎么对照呢? 非常简单,我们还是到哪里呢?到我们的东方财富王,然后呢在这里我直接输入股票代码就行了, 哎,他这里会显示深圳交易所的一个股票代码,我们点击他的行情, 这里呢就是你看平安银行是吧?经开二十四点六八,那这个就是五月二十八号的数据啊,因为我是获取最新的数据的,对应到这里的接口呢,就是二十四点六八,是吧?然后比如说你可以看这里的舆论是对应的就是这里总市值是四七五四亿 啊,成交量他是成交量对应的是四九二四万首,四九点二四万首,是吧?对应的成交额呢是十二点零一亿,十二点零一亿是吧?就说明我们这个数据啊,是没有错的,是吧? 当然路线领奖教练这五月二十七号也很简单,打开这个 k 线 这里 你可以看到他可以定位到五月二十八号,是吧?然后呢你在这里他就定位到五月二十七号,是吧?你可以对应到这些数据 实际上都是准确的,那这样的话呢,我们就能够去哎,获取到正确的数据了,是吧?这是正确的行程数据, 这是每天的。那刚刚我们看到我们改了福利困死啊,虽然福利困死他会有一种简化的表达方式,然后刚刚是一分钟吗?在一分钟里也有直接改成 em, 也可以去直接获取,是吧? 哎,这样就获取到每分钟的数据了啊,那这样的话呢?因为他只要在五月三号之前,那是他是在五月二十八号三点,是吧?这是正确的。好,那这样的话,我们就获取到每分钟的数据,那接下 那我们来看另一个接口,我们想要获取多个股票代码的一个数据,因为这个数据是吧?他只是一个股票代码,怎么获取多个呢?我们现在再来讲解一个接口,就说 我们来看一下如何获取到所有的股票代码信息, 看到这里获取所有的股票代码信息,对吧? 我们点击进去来看一下,这里我们直接拿他的一个例子,我们拿他的一个例子, 将所有的股票信息转化为数储,是吧?我们拿这个例子,然后到这里 我们先把这一段注视起来,然后在后面呢,我们来给他运行一下, 我们运行 我们把前五个的结果给他打印出来。 哎,你看到他就是把前五个的股票代码给打印出来了,是吧?这里只是前五个,是吧?我们这个他是一个数组,是所有的,我们可以不妨打印出来所有的股票代码。 这里会比较长啊,你看总共是多少呢?总共应该是四千多个股票代码, a 股的所有的一个 股票的一个数据都在这里。好,那这样的话呢,我们就获取到了所有的行情数据,是吧?的一个股票代码。那接下来我们来看一, 我们直接拿这里的,就是我们直接就会去拿这里我们在讲义中 写好的代码来讲解,这样方便。呃,演示我们直接 copy 这段代码, 我们直接 copy 这段代码,是吧? 实际上是一模一样的,我们只是为了讲解的快一点,是吧?虽然是一模一样的, 这是我们来看一下这张代码的含义,就说我首先呢会导入这个 tom 的时间库啊,我们会去让他是利浦三秒钟来看一下 每一个行情数据,就是我想每个三秒获取一个股票代码的行情数据,那这里呢是我们刚刚讲的接口,我们把所有的股票代码的 一个列表给他获取到,那这里有四千多条,然后我们对这四千多条数据进行便利,然后打印出你当前正在获取的那个股票代码是什么,是吧?然后呢我们通过获取这个股票的行情数据,然后去把他的 每天的数据呢行情数据可以获取到,然后从截止时间为这个时间,然后呢是五条数据,是吧?我们然后呢他费用是这么多,哎,这是我们之前所有的介绍路一个过程,是吧?那接下来呢,我们就来运行一下, 可以看到他正在获取平安银行的一个股票,然后过了 三秒钟呢获取零零零二股票代码,然后零零零四的股票代码的一个行情数据,这样的话呢我们就实现了通过接口来获取到这个行情数据的一个方式啊,这非常简单,是吧?我们非常非常简单, 所以这就是一个简单的获取行情数据的一个脚本,后续呢我们会根据需求来对这个脚本进行扩充,那这就是本期课程全部内容,感谢你的观看,我们下期视频再见。

那么我们在做完成之后呢,我们就是呢把我们的这个我们的策略,因为我们是已经加了策略加进来,那我们策略就是 let's try 的点,爱的是拆的卷, 那么他有一个 s 拆的纸的方法,十二纸,哪一个呢?就是我们的这个 max 拆的纸,好吧,好,那么我们直接加进来, 加进来完成之后呢?其实我们已经完成大半了,因为我们策略数据也有了,策略也有了,对吧?回撤无非就两就两个重要的步骤,一个是我们的数据,一个就是我们跑我们的策略, 那这样的话呢,我们就是已经完成了,然后我们就要开始进行我们的一些,嗯,一个整体的运行,那再整就 整体的运行呢?我们先要进行一个,嗯,资金账户的一个,呃,资金初始化, 就是我们要给他,肯定要给他钱啊,不然我们这账户怎么交易,对吧?我们给他钱,好给他多少呢?嗯,我们给他十万吧,反正数字用写的,不要钱啊,我们就给他十万啊,十万让他跑 十万的话,你要,如果你真正回撤的话,你可能要去估计,根据我们不同的,比如说我们这边加载的是,呃,这个个股,要根据这个股的价格,然后去大概计算你这个手速,看有多少乘一下,然后得出我们的总看你资金利用率是要多少的,对吧?我们 这个计算了一下,就是如果在我们第一笔买入的价格是三块来算的话呢,我们这个差不多我们的 用率是百分之七十左右,就第一笔的时候,好吧,好,那么我们这样的话呢,其实,嗯,资金已经加进来,我们还没加进来,我们是已经出石化了。然后我们要把它真正的加进来,我们要一个,嗯,要比亚要有一个 block, 然后点 thick is that cash。 好,我们出十字经加进来,加进来呢之后呢,我们要设置手续费, 我们设置一下手续费,这样更能够真实反映我们的一个回册,对吧? broker set commission, commission, 然后我们有一个叫 commission。 好,我们这边就给他一个,比如说 我们是手续费是千分之一嘛?好吧,我们这个零千分之一,没错,我们就给他一个手续费千分之一,千分之一的一个手续费 有点高啊。对,因为现在手续费差不多市场价都是万分之五左右了。嗯,第一点的话,像我们这种都能拿到万分之零点几,我们都是能拿得到的。好吧,那我们这样手续费支持完成之后呢?我们,呃 先来怎么样?我们就呃打输出结果吧。输出结果,我们要输出哪些呢?我们首先要一个日期,第一先定义好一个是 dot date 大的,我们把这两个日期给直接烤下来吧,主要是一个。嗯, 我们这边的话呢,就直接是用这个, 我们是拿呃开始日期的,这个是 dot time, 还有我们的 and, 我们这边第二吧,原地。好,我们这个 and 是指这个,然后我们这样的话呢?嗯,直接来的话,我们直接把它 print 出来 啊,初始化至今, 除此外之间,比如说我们就是我们的,呃,搭 cash 出十万的资金,对吧?然后回撤,回撤时间, 嗯,我们的回测时间 到第一, 这回这时间我们两个我们都放在这里面,好,第一,然后第二放在这里,好,那么我们这样的话呢,我们就把我们的初始资金给说出来了,然后我们还有一个就是,嗯,要把我们的这个已经完成之后,我们就要把我们的开启 啊,输出这个应该是初始画数字, 好吧?这样比较大家比较清楚,那我们就直接开始开启回撤,开启回撤之后呢?我们怎么办?就是这掰出来的点转 点转,这样就可以开启我们的一个回撤,回撤一个时候我们直接回家, 女大师来接受我们的结果,那我们女大师的这个接受的结果呢?我们需要有一个叫做,嗯,看一下要不要把我们的 那缺德算了,我们先不要计算那些下普利那些东西,因为啊那些下普利的就比较专业了,我们就不进行计算,我们就直接这样来回撤就好 啊,那么我们回撤之后,我们就要把结果给打出来,对吧?那我们结果的话,我们怎么输出呢?我们只输出最终资金,因为我们这是我们最关心的,对吧? 最终之间呢?比如说我们百分之二,然后 烧烤 点点赞了, 我们这用资金是这个,然后我们这用资金输出完之后,我们要把我们的这个图给打印一下,我们这样的话呢,就从图上更能够直观的来看出我们的这个结果, can the stick, can the stick 就是我们的一个蜡烛图,好,那么我们这样整个步骤呢,就已经完成了,对吧? 那么完成之后呢?我们来,嗯,运行一下,我们来运行执行一下,看一下我们这个,嗯,是不是都是正确的,我怕更可能写着写着有些语法可能会出问题,我们先运行一下吧。 好,报错了。 dma 没有这 dma 这个属性吗?呃,错了哈,这边是 dma 哈,这不是单边 ma, 不是错了。好,直接在运行 好,我们的结果出来了,看到没有?嗯,我们的结果呢?好像我们的结果呢,好像是涨了不少,因为我们今天的这个数据呢,我看一下哦, 跟我们之前的数据有点不一样,二零二零年十月一月二十号,一月二十号, 四月二十号。 啊,我们来看一下,二零二零年十月一号二十六号,我们这边错了哈,这个是这边是执行买路之后就没有成交过, 就没有成交过,没有成交过是错误的啊,我们这边只进行了一个买入的点,看到没有?只进行一个买点,并没有执行一个卖点,这样是有问题的。好吧,我们再来仔细看一下, 我们看一下日制啊,这是错了啊,我们这边一直在打卖出,对吧?我们自从买入之后啊,自从我们的第一单呢,买入之后,这第 满六十后面都是卖出的,这应该是有写错了哈,我们看一下。嗯,卖出在这里一直打印这个。哦,那这这个错了哈,就我们这边拜,这边是错的,这边应该是试咬了,卖出是用才是用,试咬才对。好吧,好,我们再运行一下。 好,那么我们结果出来了,我们来看一下我们的结果是不是正确的哈,先看一下我们的结果 啊,我们结果从第一单开始买入,四月二十七号,然后八号有卖,有买入,有卖出,对吧?然后订单完成。好,那么我来我们来看一下我们的图,这是我们最终结果的一个图,对吧?我们这种结果的话呢,按照我们 我们这边的,嗯,按到我们最终给我们的结果呢是,嗯,有两万二,对吧? 我们的这种结果其实从图上也可以看出来,我们从图上的分析比较快吧,就是我们的宝可,宝可这边呢,嗯, 先跟大家讲一个这个他的分布,他有总有三个模块,第一个模块呢就是我们的资金,第二个模块呢就是我们的盈亏的一个点,对吧?这个红色呢代表是亏损了,就是到了平昌这个点的时候,你的亏损状态的蓝色的话呢,它是代表盈利的, 好吧?然后上面这个啊,最上面这个蓝色线呢也是一样,同道的是正的嘛,所以他是蓝色,他是盈利的。然后下面就是我们 k 线图, k 线的图的点嘛?这点呢?其实啊,大家去看的话跟我们,嗯,如果仔细去看的话呢,是跟我们这个开屏的侧 画出了点,其实其实是类似的。为什么说类似?我们给大家先看,我们先把这个结果保存一下,好吧,我们先把这个结果先保存一下, 我们把结果保存一下,然后我们运行一下昨天的 temper。 好,我们复制一下,这个是我们刚刚运行的,然后我们运行一下我们的,嗯,之前的 跟大家,呃,跟大家运行过的那个,呃,我们直接自己计算的,对吧?我们直接自己计算的。我跟大家说过,我们第一个点是要忽略的,对吧?我们第一个点是要去掉的,我们第一个点去掉的,那我们第一个点去掉,我们直接从第二个点开始,那么第 点开始的话,大家可以看到我们这个日期计算出来是二十四号,然后这个日期多少呢?我们看一下,我们是二十七号,对吧?然后价格也不一样,价格这个是十三点零七,这边是十三点一六, 十三点零一六,对吧?然后第二个点的价格也不一样,对吧?我们十三块,这十二点九八,然后我们最后包括最后一个点, 这个点是一样的,然后倒数第二个点又不一样,对吧?然后第二个点十月九号,这边是九月三十号,对吧?为什么会有这个差别呢?对吧?为什么这个差别不仅日期不一样,而且我们的这个价格也不一样, 怎么了?怎么回事呢?我要跟大家跟啊,跟大家讲一点的是我们的博客呢,他这边是要配置的,就是我们的成交的啊,这个点的这个日期呢?我们是可以进行一个配置的,怎么配呢? 我们先来看一下啊,我们比如说在这边 broke 设置手续费,完成之后,我们摘得久,好,我们在车里这边我们要配一个东西, 叫做呃,毛可点 set 西欧西 消息,应该消息,然后 set 消息啊,这个应该要这个点了啊? set 消息他什么意思呢?我们先运行一下, 那我们运行完之后,我们就再直接把这个直接复制出来,好吧? 我们就直接再直接复制出来,然后大家再去对比一下,我们这个点,再刷一下,再对比一下。 好,我们先看一下我们的这个倒数的这两个数就好,一个是九零,对吧?我们是十五点九,十五点九,然后这十五点一七,我们先看价格,九十五点一七,是不是?然后我们再看前面的几个吧, 这个是三点零,呃,十三点零二十四号,这十三点零二,对吧?这个是十三点零一,他四十五度有十三点零二,这边下面也一样的四十五度,对吧?啊?十三点三二,十三点三二。可以跟大家讲的是我们这边的话,我们现在的 cuz 完成之后呢?我们的这个价格, 我们这个开枪的价格就跟我们这边进行计算价格是一样的。这个西游记什么意思?就是我们指我们的收盘价,当天收盘价,当天收盘价呢?他这个是,嗯, block, 它里面是属于一种作弊模式。为什么叫作弊模式?因为比如说我们处在今天,对不对?我们处在今天的话,我们 基本是不不会以我们当天的收盘价格来成交的,对吧?除非你真的是天天最后一刻实时盯盘,然后 就以那个价格去成交,不然是比较难的。那这就这种就是属于一种作弊模式,我们真正的模式呢?呃,博尔克他默认的是什么呢?比如说我们这天,我们今天下单,他要等明天开盘的时候去 啊,就以明天开盘的那个价格啊去成交,这才是合理的,对不对?比如说我们今天我们可以先走完了,那我们计算一下,我们得到 啊,他的一个不是我们上传的,好吧,那我今天上传了,我们明天以开盘价格把我们的目标给目标股份给买入,那么这才是正常的,对吧?那如果 ceo c 的话呢?他就是一个不正常的手段,就是那一次一个去停的模式,那先一样的,他还有一个 ceo 哦 的模式,对吧?那大家可以看到就是其实我们虽然日期一样的,我们虽然日期一样,但是呢我们的价格其实是有点差别的,对吧?我们的价格是有点不一样的, 我们价格其实是二十二,这二十七号给大家跟大家讲的是什么呢?就是他这个价格都是会差一天的,我们这个博客呢,他就都是以第二天为他的一个价格,然后至于我们这个呃真正的价格是属于今天的开盘还是属于昨天的收盘呢?这个就是我们可以 配的,这我们这边可以配的一个模式,他默认的话呢,他是以第二天开盘的价格买入的,好吧,这样讲大家听得清楚吗? 那么我们这样的话呢,我们今天的整个课程呢,就是呃已经结束了,然后呢我们的啊整个的 block 了一个啊,回册呢, 他的整个呃步骤就是这几个,大家可以继续练习一下。今天可能代码查的比较快,跟大家有的没有看清楚,不过没关系,我把这个原码呢擅长到我们的公众号,大家可以去关注一下,好吧, 嗯,那么我们要不今天的课程就先到这里吧,先到这里,然后呢?嗯,大家如果说有什么问题的话呢,也可以直接给我留言, 如果喜欢我们作品的话呢,就欢迎点赞评论转发。好吧啊,今天感觉可能大家会呃听得会比较模糊,会比较呃难以理解,因为这边就涉及到我们真正的一些策略和回策,这代码会比较多一点 啊,但是这个是我们啊整个电话交易的一个最后的一个步骤,就是一个回撤的步骤,是吧?大家如果把它听懂了,我们整个啊这种啊,包括从我们的数据获取,然后策略,还有我们的这个回撤,整个基本就是一个比较完整的一个流程了,这样串起来, 那大家可可以自己再去慢慢琢磨。好吧,那如果有问题的话再给我留言吧,如果喜欢我们作品的话呢,欢迎点赞、收藏、评论、转发,然后欢迎关注我们大商场电话投资。好,那么我们今天课程就先到这里,拜拜。

嘿,大家好,我是爱搞钱的王先生。今天呢我们来开一门新的课程,叫做 python 从零到一期货量化交易系统,主要内容呢就是利用 python 语言对 cvp 接口进行一个开发 啊。本节课程呢主要从以下四个方面进行讲解,首先是课程特点或者说系统特点,其次呢是整体架构, 然后是呃各个 a p i 文件的功能,或者说它的作用。最后我们利用如何登录行情账户来讲解一下我们如何应用 a p i 文件 啊。首先课程特点,我们来进行一个课程展示,来看一下我们的课程啊具体的效果。 ok, 我们可以看一下。首先呢输出一下我们这个 c t p 接口的版本啊,是六点一点一, 然后是登录行情账户,这个是发送请求,然后他给我一个回馈,告诉我们登录成功。登录成功之后呢,我们来订阅行,订阅合约, 然后订阅这几个合约之后,我们就开启一个新的县城,将数据传递至策略模块。我们 啊本节课程的特点呢,一大特点就是策略模块和行情模块是分离的啊,就可以保证策略模块的呃稳定准确的运行, 这这个线程是一个总的线程,呃每个数据传递至这个线程之后,再分别由其他的各个子线程传递至每一个策略。然后接下来呢有一个数据筛选的功能 啊,我们会对比一下这个数据的时间戳和我们现在本地的时间戳,如果说这个呃时间差距过大的话,我们就会将这个数据筛选掉, 过滤掉,这样的话就可以保证策略模块不受一些啊错误数据的影响,就比如说现在这个他的这个数据时间有三点的,有三点, 下午三点二十四的,然后我们现在时间呢是四点,所以说我们就会把这个数据筛选掉,做一个数据筛 筛选,然后我们就是呃建立呃登录交易,交易账户, 首先是与前端进行一个连接,然后是发送穿透式认证,然后这个是登录交易账户发送结算结算单请求, 然后接下来我们登结算单确认成功之后,就可以代表我们交易账户登录成功了,我们就可以呃查询一些呃信息,就比如说持仓啊或者产品明细啊来有助于我们后续的计算。 然后等所有的查询都结束了之后,我们策略模块其实这这个时候已经开始运行了, 然后等待我们有一些交易信号的发出,然后就会进行一些下单以及后续的撤单呐之类的。然后那个是我们后续课程会进行一个讲解。 然后本系统的主要特点呢,就是多线程行情与策略模块分离,大大提高了策略模块的安安全性, 然后日志完善,我是记录了每一笔交易的信息,这个我们一会会讲。然后还有高频数据合成 k 线,这也算一个特点吧,就是根据 tik 合成分钟线和小时线, 并传递至策略模块。因为有一些策略并不是根据 tik 来进行计算的,而是根据 k 线,所以说我们这个会合成一些 k 线,然后并传递至策略模块。然后策略模块呢是可以选择 性订阅的,就比如说可以订阅 k 线,或者说订阅这个高频数据都可以。然后我们来讲解一下整体的架构啊。 呃,首先我们这个系统主要分为这么几个,呃,模块吧, 首先是 config feel, 这个呢主要是保存一些参数,或者说一些点 cun 文件,这些点 cun 文件呢,都是 api 自己生成的,这个是他需要生成的,这个是规定的,这个是必须生成的。然后这个是 啊,我用来保存了一些交易所,就是每个合约对应的交易所,然后方便我们后期的下单。然后还有一个是点 n n i 文件,主要记录了一些产品的信息, 包括合约乘数,然后手续费呀之类的。然后我们接下来看一下。接下来是这个 a p i 接口的文件, 嗯,它主要包括我们来看一下 ppt 吧, ppt 上写的比较详细啊。首先呢是这个红框里的一共六个文件,两个点 pyd, 两个点 py 和一个动态库。 呃,这六个文件呢,是通过 speed 转换得到的拍摄接口文件,因为 cvp 的话是没有 c 加加接口的。 呃,所以说我们需要通过自己来转换这个接口呢,适用于 python 三点八。然后 windows 版的。呃,我还给大家准备了 linux 版一共这六个文件,然后到时候大 大家如果有需要的话,可以呃,自己进行复,自己进行复制啊,就是 linux 是一样的。然后是这个绿框里四个点 h 文件,这四个点 h 文件呢,分别是, 呃,元 c 加加接口,它主要呢我平时写代码的时候会用来查询一些数据的定义,就比如说它给你一个回馈,它会有一个结构体,然后结构体中每一个变量 都是有一个自定义的数据类型的,就比如说买卖方向,他可能用零代表买,然后一代表卖,这个就都可以通过这个四个文件进行查询, 然后还有一个 a p i 接口文件的说明,就是这个。我们来看一下这个, 然后我们可以通过这块的进行一个查询,就是这有目录,看一下主页, 还有一些说明啊介绍,然后版本介绍,然后还有这,这是我们刚才说的那个四个点 h 文件, 然后就是一些相关的指令,如报单,然后获取行情相关的指令,这个是获取交易相关的指令, 然后还有数据结构的投文件,还有这个是数据类型的投文件,这个里边保存的就是结构体之类的定义,然后这个里边保存的呢就是一些媒体类型的定义, 然后我们还可以通过在这输入某一个函数,这个就是报单通知,然后来查询一下他的 函数原形,然后里边的参数,这就是一个结构体嘛,然后每个结构体里边都有什么变量,剩余时间、报单日期等等,这个还是挺方便的,有的时候我们编程是会用到的。 ok, 然后这个是 config 文件,我们来看一下这一共有俩两个排叉嘛,一个是我们目前的系统,一个是呃, python 讲解,这个呢主要就包括 这个主要是为了演示一下我们如何登录这个行情账户的, 这俩都是一样的,一样,我们来看一下这个有一个策略模块,策略模块里边有每一个策略,策略一和策略二,然后在这个策略一,每个策略呢都可以单独的 订阅合约,然后订阅合约之后他就会在我们这个函数里边啊给我们发送对应的合约。呃,怎么说呢?这我们现在是订阅了三个合约吗?他会分别从三个县城 来发送数据,然后,呃,我这是有一个 map, 有一个字典,每一个字典对应的都是一个新的,详细的就是这个,这个类嘛。 啊,这个我们到时候写到这的时候再具体讲吧。呃,总的来说呢,就是每个策略是独立的,然后每个策略里边的合约也是独立的,就这么个意思。 ok, 这个就是策略模块,然后交易流水,这里边是 记录了一些交易的流水,然后这就包括啊,这个不是,这个是之前的版本。我们来看一下最新的 这个交易流水,然后就包括一些自然日交易日时间标的方向,然后委托价、成交价、成交量、平常盈亏,这个平常盈亏,呃,就是我们刚才呃通过这几个 呃 i n i 文件进行计算了,所以说我们需要保存一些呃合约的参数,就比如说它合约程数啊,然后手续费率啊之类的,然后这个手续费也是我们单独本地计算的, 这样的话可以大大的节省时间,然后也方便我们后期的一些维护。然后大家可以看到这个 策略都是分开的,这个是策略一,我们订阅了三个合约,然后每个合约的交易流水都是单独的啊,这个这个合约没有交易,然后 然后每个策略的合约都是单独的啊,这个说完了下一个,下一个,然后实施数据,这个呢主要是用来,呃,我们在策略二的时候做了一个数据的保存,然后来方便我们判断是否有漏遗漏的 tik 啊之类的, 然后底下就是具体的,呃,那个具体的原码了,我们来接着从 ppt 看啊,然后这个是交易流水,然后它的一些格式, 然后实施数据。这个我昨天呢做了一个判断啊,就是从接收数据到策略,就是从我这个系统接收到前端给我发送的数据到策略模块,接收数据花费的时间呢基本都是在零点零零五秒左右, 大家可以从这看,有一些时间长,有一些时间短,因为这个受性能影响,电脑性能影响,但是即便是最大的也才零点零零六, 差不多吧,就这么大,然后我们每秒钟最大可以接收两个 tick, 所以说我们每个 tick 的处理时间大概是零点五秒,所以说零点零零五秒大概占百分之一,所以说基本上影响不大。 然后这个是主要的四个代码,呃, function 呢,是用来保存一些功能函数的一些功能,我们来看一下 啊,就比如说判断发送请求失败的原因呢?然后还有创建交易流水,就是创建那个点 csv 文件,然后写入交易流水,就是我们每一个,呃,那个有每一笔成交之后,我们需要判断,然后判断交易方向, 还有计算平常盈亏,然后计算手续费啊之类的,计算手续费在这呢,这个 fee 嘛,然后这个又是单独的一个函数,有的时候就分开写,这样的话后期修改的时候也也那个 方便嘛。然后还有更新池仓,因为你成交了之后,你的池仓肯定是会发生相应的改变的,所以说我们这有一个更新的,更新池仓的那个功能, 所以说我们是利用本地来更新这个池仓的,创建了一个本地池仓库吧,就相当于是然后这呢计算手续费,然后这个我们到时候会呃根据课程的进度来进行讲解。 然后这是 global palmer, 主要是记录了一些呃全局变量,就比如说券商 id, 然后账户信息啊等等等等。 然后这个是 man class, 这个是呃,我们是将这个整体的系统封装到一个类里了嘛? 我们来看一下这个讲解吧,这个太多了,这个代码行数太多啊,我们是封装到了一个类里,然后每一个功能呢是写到了类类内函数里,就比如说登录行情服务器, 这个是我们一会需要讲解的,然后这样的话也方便我们后期的修改,所以说叫慢 class。 然后还有一些 user strict, 这个呢主要就是定义了一些自定义的类型,比如说买卖类型啊,就分买开,卖开, 然后还有平仓,平仓还分平金和平着。然后这个是池仓,池仓呢就是本地的池仓数据库,然后还有一个订单库,它主要保存呢,就是 一些订单信息,然后还有是哪一个策略发出来的,呃,发出来的订单就这么个意思嘛,我们后期都会进行详细的讲解, 然后这个就是主要代码,接下来呢我们讲解一下各个 a p i 文件的功能 啊。首先是 a p i 基本架构,其实我们这个 c d p 接口主要架构呢,基本都差不多,都是 呃调用 api 发送一个请求,然后系统呢给我们一个反馈,给我们一个对应的回调函数,基本上都是发送请求,然后判断发送请求是否成功,如果成功了的话,那就等待他给我们的一个回调,然后就是 是函数的命名规则,这个就是请求都是 request, 然后响应就是 on request, 然后查询,然后我们可以发现啊,这些回调都是 on 开头的。 然后登录行情账户,我们来具体看一下。呃,如何登录行情账户? ok, 接下来呢,我们通过如何登录行情账户来跟大家讲解一下怎么使用这个 api 接口啊。首先呢我们需要导入这个接口文件, 其实这个这个是交易接口,然后这个是 m d user api, 这个是行情 接口接口文件,我们这节课其实主要用到的就是这个行情接口文件,把这个这个也写上吧, 然后还需要导入一一这个 global pam 作为全局变量,这个全局变量里边呢,主要保存了一些呃信息,包括这个 啊, investor id 就是你的账户,然后密码,券商 id, 然后前置服务器的地址啊,前置行情服务器的地址,然后还有前置交易服务器的地址,然后还有一些穿动认证需要的信息等等, 然后还包括一些呃订阅的合约名,这个就是因为每个策略订阅的合约都是可能是不同的,然后我们去需要做一个统计 啊,整个系统需要订阅哪些合约,然后还有一个查询信号,用于检查是否完成查询, 然后一些下单的需要的因素吧。然后还有策略字典、订单字典和池仓字典,这个呢主要是用来创建本地的策略库、订单库和池仓库的,这个等我们后续用到了再说吧。然后这个是现成池, 然后还有呃交易所,合约交易所,这个是下单的,然后还有手续费,保证金呢之类的,还有数据对列,这个是用来传传递数据的, okay。 然后我们来讲一下如何登录这个 行情账户的流程。首先是创建 a p i 的实力,需要调用这个接口文件里的这个函数 create, 然后括号里的内容呢,是指他会产生一个点 c o n 文件,我们需要呃告诉他在哪里生成这个点 c o n 文件,现在呢就是在这个 conflict feel 里,如果说你这里什么都不添的话,他就会在这个 呃主目录下生成,就在这个位置生成。然后是创建 spi 实力, spi 呢主要是用来接收 api 发送请求之后的回调, 然后这个实力呢是我们继承了人家接口里的啊,在这呢继承了接口里的 spi, 来看一下它的 负类,这个是它的负类,就是定义了一些函数啊之类的,然后我们只需要重载它的函数就可以了,它就会把相应的它就会调用我们的函数, 然后一会我们用到了再说吧。然后这个是 spi, 这个是 md spi, 等下节课呢,我们 md user spi。 然后下节课呢,还会有 trader user s p i。 分别 trader a p i 和 trader s p i。 这个下节课再说吧。然后我们保存我们的 a p i 和 s p i, 保存到全局变量里,这样的话呢,方便我们在其他的文件里边儿呃发送一些请求啊 之类的,然后连接行情前置服务器,这里边需要这个就是连接行情前置服务器的函数,然后里边需要添 行情服务器的地址,然后这个是我们保存到了这个全局变量里嘛,然后它是一个字符串,是 tcp 协议,然后一个地址,一个端口, 然后将 s p i 注册给 a p i 这样的这句函数,这句话呢就是将 s p i 注册给 a p i 这样的话呢,它 a p i 发送完请求之后,呃回调就会调用我们这个 s p i 实例里的函数,就比如说这个, 然后第五步 a p i 正式启动,然后就会连接我们的行情 前置服务器,然后连接成功之后呢就会调用我们这个 on front connected 函数, 然后我们就知道建立,开始建立行情连接,其实这个时候已经和前置连接成功了,但是我们还没有登录,我们现在需要发送用户登录请求,呃,这个用户登录请求呢?我们需要创建一个呃请求文件, 应该是 这个吧好像,呃这个这个 query, 然后我们需要给这个文件相相应的复值,就比如说券商 id, 然后 investor id 就是你的账户,你的密码,其实这两 个现在都用不到了啊,这个你不写也行,但是还是规范一点写上吧。然后我们需要这个请求函数,我们来看一下这个请求函数的定义, 复制了之后,我们就可以在这个呃这个接口说明里边进行查询,然后这个是用户登录请求,对应的响应是这个,然后目前行情登录不叫验账户和密码, 然后他有一个返回零代表成功,然后负一、负二、负三分别代表了哪种失败? 然后所以说我们用一个 result 的变量进行接收它的返回,然后如果说是零的话,就代表呃 发送请求成功了,这个只是发送请求成功,并不代表我们登录成功, 然后如果不是零的话,就代表请求失败,然后我们分析一下具体的原因,然后负一是连接失败,然后负二是什么?负三是什么?然后如果说还有其他的,一般好像是没有啊,没遇见过,但是我们写一下吧, 然后如果说还有其他的,就说失败原因是未知的,然后我们来看一下,他说对应的响应函数是 呃, unrespect user log in, 其实这个呢,我们点进去,这个是可以点进去的,然后他就会这个就是对应的登录请求响应函数, 就是这个嘛, unrespect user login, 我们可以看一下它的副类,其实也是这个 m d s p i 里的, 然后他就可以返,就是给我们一个返回吗?然后让我们来判断一下登录到底成功了还是失败了,然后我们来分别看一下他这些参数代表着什么? 然后第一个参数,这个是用户登录应答,就是一个可能返回一些交易日啊,然后登录成功的时间呢? 然后最大爆单引用,然后前置编号、绘画编号和最大爆单引用,这三个数啊,我们后期 那个呃下单的时候会用到,但是等到时候登录交易账户的时候再进行保存,然后这个是显示信息,就是你到底登录没登录成功, 我们来看一下啊,就是这个嘛,它里边包含了一个 iroid, 然后 还有一个 iron message, 如果说这个 id 不等于零的话,然后并且这个这个结构体不是空,就代表他有错误,然后我们就打印一下行情连接失败,然后错误原因是什么? 然后否则的话就是登录行情账户成功,然后登录行情账户成功, 这个就代表我们啊登录成功了,我们现在来看一下,运行一下, ok, 然后我们来运行一下,试一试。我刚才把我的账户和密码填到了这个全局变量里, okay, 他这会就会显示登录行情账户成功,然后我们修改一下这个账户和密码。 ok, 我刚才修改了一下那个账户和密码,我们重新登录一下, 然后会发现他还是登 录成功,因为我们刚才说了吗,他是不检查这个行情账户的,行情账户的账户和密码的,所以说这个没有影响。 呃, ok, 然后这个行情账户的整体登录流程就这样了,然后接下来呢,我们会讲解登录流程呃,登录成功之后如何订阅?呃,合约, ok, 本节课就基本结束了,我们来看一下还有没有其他的内容哦,没有了。然后如果呃大家觉得 对你有帮助的话,欢迎点赞投币。然后接下来的视频更新可能会放在 c s、 d n 上,到时候地址会发送到评论区,如果大家觉得对你有帮助的话,欢迎继续收听。


零基础菜鸟学拍摄量化交易,今天给大家分享一个量化交易的核心概念,叫做交易策略。对我自己来说,之前一直不知道量化交易具体在干什么,到底是什么含义, 而我自己的入门就是从了解交易策略这个概念开始的,他是理解一切的核心。接下来我就来回答一个问题,什么是交易策略?交易策略他其实回答了两个问题, 如果你自己想买一只股票,你肯定会遇到这两个问题。问题一,那我买哪只股票呢?问题二,我 什么时候买?买完了以后什么时候卖呢?这两个问题定学说话的名字叫做选股策略,第二个叫做调仓周期。接下来我就给大家介绍三个交易策略,看完这三个交易策略, 你就知道他具体是干什么的。这三个交易策略从易到难,分别是无脑定投、互成三百、五日均限法、预测国家法。这三个交易策略都是可以用派审来实现,然后可以自动化的完成运行,人工无干预的一直运行下去。 第一个阶级策略,定投汇成三百,这个策略非常简单,很多人可能都在定投。结合上面两个问题,选股策略和挑战周期。我们来看一下选股策略,就是咱们选了汇成三百指数基金, 而调仓周期咱们什么时候买呢?例如很多是这样的,每周四定投一千元,这个金额可能每个人不一样,那什么时候卖呢?因为是定投,是一个长期投资,可以保持一直不卖,或者说自己急需用钱 钱的时候再来卖,虽然简单,但他本身就是一个交易策略,他选了一个股票,并且定好了什么时候买,什么时候卖。我们看一个复杂一点的叫做五日均线法,此选股就是买什么股票呢?你可以加一点技术分析, 比如说你自己去看一下股票涨幅榜,取他第一位,他最活跃。对这只活跃股票来说,什么时候买呢?是需要每天计算的。对这只股票,咱们先取到昨日的价格,然后算一个他最近五日平均的价格, 当昨日的价格高于最近五日的平均价格的时候,那就说明这股票是在涨的,这个时候咱们买入一百股,那什么时候卖呢?当咱们发现昨日的价格低于最近五日平均价格的时候, 就说明这股票是在跌的,咱们就要止损全部卖出。这个方法一买一卖,虽然看着简单,最终使用了什么效果?就是股票涨的时候会自动买入股票,跌的时候直接止损卖出股票。这就是五日军舰法的交易策略。 咱们来看更加复杂一点的预测股价法。下面这个图呢是一个积极学习模型,咱们按照数字来看,首先咱们收集了历史上很多股票的数据,对于这些股票数据来说, 咱们得到某个股票利益上某个月本身的股票指标,股票指标会有很多个,例如试盈率、试净率、市值等等。对于这个很多的指标,咱们用他们来预测这股票下个月的收益率,经过这样的一些训练,咱们可以得到一个股价的预测模, 就第二步得到这个模型了以后,那么对于当前就是自己当前的这个月份的股票指标,咱们把它输入模型里,就能够预测下个月的收益率,使用这个预测的收益率,咱们就可以指导咱们的这个交易策略。 具体是这样的选股策略依然是你可以选择一只回忆的股票什么时候买呢?咱们先去掉这个股票当月的指标,输入模型,他就会反为这股票下个月是不是会涨,如果你预测他是涨的就买进, 如果你预测他下个月会跌,就卖出。就是更加复杂一些的交易策略。看完这三个交易策略,我们就可以总结交易策略到底是什么东西。 再次回顾一下,他回答了两个问题,第一,买哪只股票,也就是选股策略,定好了股票的范围了,以后什么时候买,什么时候卖,叫做调仓周期,这两个的结合就达成了一个交易策略。