自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(244)
  • 资源 (2)
  • 收藏
  • 关注

原创 同比日期的获取(公历与农历)

在进行宏观数据和中观数据研究分析分的时候,经常会用到同比的概念。宏观数据一般都是月度的,所以一般一二月份由于春节效应,会合起来考虑;但是中观数据的频率有时候会比较高,比如周度或者旬度的数据。 这些数据更多的时候,我们希望看到的是一个同比的情况,而且是农历同比,比如钢铁的库存、水泥的产量、建材的成交量等等,所以就涉及计算去年同比的一个问题了。下面的代码就是在当前的有数据的时...

2019-03-13 19:25:17 3038

原创 Brison归因与代码

不管是做FOF也好,仅仅想单纯归因也好,Brison是一种比较常见,也算是通用的归因方法,其一般用于权益类或者大类资产配置类基金。 其实Brison归因的逻辑很简单,假设有一个基准,基准在各类资产的配置上的权重分别是wbi(weight of benchmark of asset i),这些资产的收益率分别是rbi(return of benchmark of asset...

2019-03-05 22:27:39 6007 3

原创 pandas的Groupby加速

          在平时的金融数据处理中,模型构建中,经常会用到pandas的groupby。之前的一篇文章中也讲述过groupby的作用:https://blog.csdn.net/qtlyx/article/details/80515077         但是,大家都知道,python有一个东西叫做GIL,说白了就是python并没有多线程这种东西。那么,现在如果我们要进行grou...

2019-02-14 22:05:52 8578 7

原创 vn.py源码解读(八、回测结果计算代码解析)

        我们核心关注一下calculateBacktestingResult这个方法,这个方法中最核心的是一个大循环。 for trade in self.tradeDict.values(): # 复制成交对象,因为下面的开平仓交易配对涉及到对成交数量的修改 # 若不进行复制直接操作,则计算完后所有成交的数量会变成0 ...

2018-12-29 17:52:25 4692 3

原创 pyecharts绘制K线

        最近想扩展一下vnpy,优化一些功能和代码的性能。在看backtesting部分代码的时候,发现,vnpy其实回测功能挺弱的,可以自己扩展一下。随之而来的就是一个回测结果可视化的问题。vnpy原生的回测结果没有绘制k线,所以也就没有指标的可视化和开仓平仓的可视化,只有随后交易结果的可视化。笔者自己其实有点点不习惯,没有看到策略的可视化回测结果,有点点不开心,所以打算自己做一下。首先...

2018-12-23 20:07:15 19338 26

原创 vn.py源码解读(七、回测代码解析)

        原本想开始讲策略类的编写,后来觉得,结合回测代码其实能够更好的理解,所以先解读一下vnpy回测的代码吧,后续自己也想把vnpy回测的部分优化一下,毕竟我觉得可视化和回测结果方提高还有很多空间。        我们解读的代码从runbacktesting.py开始。首先,和实盘中一样导入了一个策略。from vnpy.trader.app.ctaStrategy.strat...

2018-12-16 10:33:02 6244 1

原创 Cython入门到放弃(二)

上一篇文章讲了Cython的使用流程,没有具体展开讲别的,例子也很简单。今天首先使用一个官方文档上使用Cython的例子,然后抛出几个连续的小demo,看看Cython是如何一步一步加速的。首先我们新建一个文件,primes.pyx,然后写一个cython文件:def primes(int nb_primes): cdef int n, i, len_p cdef int...

2018-12-11 20:25:12 6455 5

原创 vn.py源码解读(六、主引擎代码分析---策略模块)

      之前在讲MainEngine的时候,有这样一个代码: me.addApp(ctaStrategy)       这里,我们来看一下MainEngine里面这个addApp函数的代码: def addApp(self, appModule): """添加上层应用""" appName = appModule.appName ...

2018-12-11 20:23:28 5192 2

原创 vn.py源码解读(五、主引擎代码分析----CTP模块)

        上一篇文章讲了MainEngine中的初始化函数,重点是DataEngine的讲解。有了对行情数据的处理,还需要有行情数据的来源。在MainEngine的初始化函数后面的一个函数就是addGateway函数。vnpy的作者还是有很大格局的,希望自己的作品可以兼容很多数据交易接口,所以就比较通用,这里就把ctp这种接口叫做Gateway,而且后面写的也比较复杂,目的就是为了集大成,还...

2018-12-07 19:07:05 6726 4

原创 vn.py源码解读(四、主引擎代码分析----初始化函数)

         vnpy有一个叫做主引擎的东西,在三里面也说过,个人觉得这个应该是一个运行框架的东西,不应该叫做引擎,不过没关系,名字而已嘛。这一篇呢主要就是分析一下主引擎的代码。class MainEngine(object): """主引擎""" #----------------------------------------------------------...

2018-12-06 21:51:37 5597 1

原创 vn.py源码解读(三、事件驱动引擎代码分析)

        先抛开一切,我们来想一想,如果自己要写一个事件驱动引擎会怎么写?之前也说过,所谓的事情驱动就是你要监听一些事件,当某些事件发生的时候,要分配相对应的方法进行处理。完成这个过程的东西我们抽象出来之后就叫做事件驱动引擎了。那么,如果我们自己写的话,应该有这样几个功能:1.事件的注册和取消,使用者可以根据自己的需求来设置引擎需要关心那些事件 2.事件对于的处理方法的挂钩。显然,一个...

2018-12-02 12:03:12 6988 1

原创 vn.py源码解读(二、实盘交易代码分析)

        离上一篇和vnpy有关的文章整整一年了。这一年似乎过得异常的快,快到让人觉得没有成长。可能是工作原因吧,时间一下子就会过去;亦或是自己懈怠了。        一年前vnpy网上的教程还很少,而现在渐渐多了起来,量化交易学习的人群也渐渐多了起来了吧。之前的文章简单介绍了一下vnpy的配置和回测的代码的简单解析。其实vnpy对我的吸引力在回测功能上面几乎没有。说句真心话,回测框...

2018-12-01 12:03:04 11675 5

原创 statsmodels的回归R2的问题

        做量化呢,得经常做回归,各种各样的,ols,wls,正则的lasso, 岭回归等等。回归有一个很重要的整体解释力度的参数就是R2,也就是可决系数。在python中,我们回归一般采用的是statsmodels这个模块,但是回归的时候获得的R2其实有那么点学问,有时候设置错参数可能得到的R2大家会觉得怪怪的。这里就给大家排个雷。首先,我们先给出两组、六个回归函数。第一组:de...

2018-10-10 21:23:15 7100

原创 重回机器学习-《python机器学习及实践》读书笔记二

一.三个率        机器学习模型训练好之后,会在样本外进行测试,然后我们可以得到三个“率”:准确率 召回率 精确率        其实这些也没有什么大不了的,大家如果学习过基本的统计学的话就会知道,这就是所谓的一类错误、二类错误的一个变体。        首先是准确率,这个最好理解,就是你的模型在样本外测试中正确的次数。当然,我们讨论的前提都是一个二分类问题。这三个“率”是...

2018-10-09 22:18:46 878 1

原创 重回机器学习-《python机器学习及实践》读书笔记一

        以前也算比较系统接触过机器学习吧,记得最早的时候是大二,机器学习才刚开始提起,更多的是说统计学习。那个时候,深度学习似乎都还没有听过,看的第一本书也是一本外国人写的,一直拿鸢尾花数据集当例子的书。当时看完也没觉得什么,毕竟年轻,何况那个时候很多东西就是觉得好奇好玩而去学一下。        后来也慢慢接触到,也编程实践过,不过一直都不怎么成体系。最近觉得,还是得再跟一下潮流,所...

2018-09-26 22:21:31 1745

原创 Backtrader入门视频教程

本人录制的backtrader视频课程,大家多多支持哦~https://edu.csdn.net/course/detail/9040

2018-08-16 19:31:48 2978 2

原创 量化回测平台Backtrader实战-陆一潇-专题视频课程

课程通过学习Backtrader这一功能丰富的开源回测平台来逐步实现多个量化cta策略的回测实现。Backtrader是一个功能齐全的开源平台,但由于功能多样,且作者出于平台实现性的考虑,对于入门的使用者有一定的难度。这一课程就是为了解决这一问题。...

2018-08-03 19:06:36 3328

原创 Backtrader量化平台教程-跟踪止损单(十)

AD:(本人录制的backtrader视频课程,大家多多支持哦~https://edu.csdn.net/course/detail/9040)无意中发现了一个巨牛的人工智能教程,忍不住分享一下给大家。教程不仅是零基础,通俗易懂,而且非常风趣幽默,像看小说一样!觉得太牛了,所以分享给大家。教程链接:https://www.cbedai.net/qtlyxCTA当中,...

2018-07-25 20:34:27 9902 6

原创 Cython入门到放弃(一)

无意中发现了一个巨牛的人工智能教程,忍不住分享一下给大家。教程不仅是零基础,通俗易懂,而且非常风趣幽默,像看小说一样!觉得太牛了,所以分享给大家。教程链接:https://www.cbedai.net/qtlyx python作为一门强大的脚本语言,优势自然不必说,目前中低频的量化投资基本都是使用python作为research和production作为语...

2018-06-07 21:16:53 42971 14

原创 量化投资中常用python代码分析(一)

pandas的IO      量化投资逃不过数据处理,数据处理逃不过数据的读取和存储。一般,最常用的交易数据存储格式是csv,但是csv有一个很大的缺点,就是无论如何,存储起来都是一个文本的格式,例如日期‘2018-01-01’,在csv里面是字符串格式存储,每次read_csv的时候,我们如果希望日期以datatime格式存储的时候,都要用pd.to_datetime()函数来转换一下,显得很麻...

2018-05-30 20:33:47 23225 7

原创 量化、傅里叶变换、风险模型及其他

世界有很多角度,而我们却只能看到一个,并深陷其中,自信不已。每一个角度有不同的维度组合来观察世界。 我们看待股票市场,有一个最常规的角度,就是个股,一个个代码。技术分析者看到的个股k线、价量信息;基本面分析者看到的是公司的财务状况和运营模式。这是一种最普遍的角度。 在信号处理领域,有一个最基本的信号处理方法,时频分析,工具就是傅里叶变换。人类直觉上看待一个信号的维度,就...

2018-04-24 21:35:28 3158

原创 绕过JS写爬虫

最近要把很多数据抓下来先存起来,现有历史数据再说。其中,东方财富网有许多数据,其中有一个是机构调研的数据。      http://data.eastmoney.com/jgdy/tj.html      我们希望抓取的是js生成的表格。      这种带有js的网站抓取其实不是那么简单的,基本分为那么几种方法,一种是观察页面,有的会有json数据,有的有js代码可以解析目标的url;一种是使用渲

2018-02-03 20:38:06 7538 1

转载 python的一些细节(3)

1.函数的frozen技术from functools import partialdef my_fun(st1,st2,st3,st4): print st1+st2+st3+st4frozen_fun = partial(my_fun,'er')frozen_fun('a','b','c')frozen_fun_2 = partial(my_fun, st4='er')

2017-12-02 23:14:18 688

原创 python的numba加速

无意中发现了一个巨牛的人工智能教程,忍不住分享一下给大家。教程不仅是零基础,通俗易懂,而且非常风趣幽默,像看小说一样!觉得太牛了,所以分享给大家。教程链接:https://www.cbedai.net/qtlyx 之前笔者写过一个pypy的加速方法,可以参阅笔者之前的文章:http://blog.csdn.net/qtlyx/article/details/7...

2017-11-20 20:41:20 13184 5

原创 vn.py源码解读(一、环境配置与回测初试)

近来忙于毕业找工作,也不知道能不能继续在量化界混了。周末比较闲,抽空研究了一下vn.py。有人说,为什么学那么多的回测平台呀。其实我个人觉得,做cta的话,两个回测平台还是要的,这样,当你的策略出现和你预计不符,而你有无法在代码逻辑层面找到问题的时候,你就可以用另外一个平台试一下,来看看到底是你的策略本身就不行,还是你的代码有着当前水平无法察觉的问题,甚至,可能回测平台本身存在一个...

2017-11-12 21:50:37 26630 7

原创 多因子模型之组合构建与优化器(下)

1.不等式约束前面我们讨论了等式约束下的情况,那么如果有不等式约束呢?比如,我们不能做空股票,那么就要求每一个股票的权重都要大于1,或者对于特定的股票我们给予特殊的权重的设定等等。 这里,我们就假设我们设置两个不等式约束: 不能做空 股票s2的权重要要大于等于0.1. 这个时候,我们的约束条件就是: subjectto.A′x≤bsubject to. A^{'}x \leq b 其中,

2017-10-22 20:17:54 5439

原创 多因子模型之组合构建与优化器(上)

根据多因子模型,或者说alpha策略的开发顺序,我们应当是按照:因子--》alpha 模型--》风险模型--》组合构建 这样几个模块来的。今天来说说组合构建这个事。        组合构建是在你有了alpha模型和风险模型之后,也就是说,你现在可以预测股票的收益和股票的风险了。那么我们怎么构建组合呢? 大概有这么几种方法:        a.根据alpha模型,选择前面N个预测收益高的股票,然后权

2017-10-21 21:26:15 8673

原创 一个alpha量化的开源项目--Signal_Report_Platform(单因子测试报告)

目前,网上其实有很多量化的回测平台,比如之前笔者写过教程的backtrader和pyalgotrade,当然还有大名鼎鼎的zipline。但是值得注意的是,这些其实某种意义上是一个回测平台,如此而已。如果做cta,可能就足够了,但是如果是要做多因子策略的话,这种回测平台可能只是整个体系当中的一个小小的部分。基于这样的原因,所以打算在闲时写一个多因子策略的量化平台。目前刚开始起步,先从单因子测试开始

2017-10-03 23:50:21 3993

原创 python程序的pypy加速

我们知道,python作为一种几乎是脚本语言的语言,其优点固然有,但是其有一个最大的缺点,就是运行速度没有办法和c,c++,java比。最近在些一些代码的时候也是碰到了这样的问题。具体而言,python想提速度,基本思路是两个,有个就jit技术,在python中比较好用的就是pypy;另外一种就是先分析代码速度瓶颈,然后把性能瓶颈用c或者别的语言写成模块,让python调用。后面一种方法其实也存在

2017-09-24 18:54:26 9890 1

原创 多因子模型之因子(信号)测试平台----计算因子值

广告:本人的单因子测试视频教程https://edu.csdn.net/course/detail/25572 近一个半月疯狂的接触多因子模型,其中对于单个因子的回测,是最熟的。而对于单个因子,或者叫做signal(这一系列文章后续都这么叫),是多因子模型的基础。当然,如果你认为,世界上没有alpha,那么只要bet style或者industry就可以了,也不需要寻找alpha。...

2017-08-15 22:23:48 6237

原创 python的三种字符串格式化方法

刚入门python的同学,特别是,没有系统的学习过python,而是学过别的语言,直接上手python的同学,怕是还不是很了解python强大的字符串格式化方法1.最方便的print 'hello %s and %s' % ('df', 'another df')但是,有时候,我们有很多的参数要进行格式化,这个时候,一个一个一一对应就有点麻烦了,于是就有了第二种,字典形式的。上面那种是

2017-08-11 20:29:56 20500 1

原创 “房间里有100个人,每人都有100元钱,每轮每人要拿一元钱随机给另一个人”最后分布的python结果

下午看到了这个问题,一开始直觉当然是觉得每个人的期望都是一样的,大家都是公平的,最后肯定是差不多。这就是直觉,而在统计学和随机过程的世界里,直觉往往是错误的。我们用python仿真一下这个过程。# coding:utf-8# 房间里有100个人,每人都有100元钱,他们在玩一个游戏。# 每轮游戏中,每个人都要拿出一元钱随机给另一个人,最后这100个人的财富分布是怎样的?impor

2017-07-30 17:05:48 9823

原创 python的一些细节(3)

1.python逻辑判断式的连续判断x = 2if 3 > x > 1: print xif 1 0: print x2.list转dict,其实是字典的推导式teams = ["Packers", "49ers", "Ravens", "Patriots"]print {key: value for key, value in enumerate(teams)

2017-07-29 23:55:38 577

原创 Python的诡异陷阱

编程的人,特别是学过c语言,使用过很长时间c的人,都会觉得,python这种语言跟matlab一样,没什么内涵,很easy。一开始也是这么想的,那是慢慢的,越来越觉得,人生苦短,我用python的理念其实不对。python完成一些小制作是很easy的事情,但是真正要成为一种工具,其实还是要考虑很多事情。近期实习的过程中,这种感觉越来越强烈了。        python看起来简单,其实内涵很复

2017-07-29 22:40:52 2731

原创 Backtrader量化平台教程-Portfolio级别的回测(九)

AD:(本人录制的backtrader视频课程,大家多多支持哦~https://edu.csdn.net/course/detail/9040) 无意中发现了一个巨牛的人工智能教程,忍不住分享一下给大家。教程不仅是零基础,通俗易懂,而且非常风趣幽默,像看小说一样!觉得太牛了,所以分享给大家。教程链接:https://www.cbedai.net/qtlyx ...

2017-07-29 19:50:22 11611 14

原创 python中logger日志模块的使用

一般,我们做一些简单的状态输出都会用print,但是这是最简单的情况下使用的工具。当我们的程序比较复杂的时候,我们会使用日志文件,特别是程序运行的时间特别久,中间可能存在一些问题,需要后面来看的时候。        所以,python自带了一个很有用的库,logger,也就是日志记录。        使用起来还是很方便的。#!/usr/bin/env python# -*- codi

2017-07-24 20:39:11 9219

原创 reportlab教程1--第一个pdf生成

实际生活工作中,我们会希望有些报告、图表可以自动生成,然后变成pdf,甚至直接发邮件到某个制定邮箱lib。这个时候有几种方式可以来实现,譬如用latex,但是这个似乎还要在电脑上装很多东西。还有一个pdfkit的东西,直接把html转成pdf,不过也要装一个插件。虽然实现起来可能pdfkit更简单,但是从功能角度来讲,似乎是report更加强,而且文档也丰富。1.第一个reportlib的de

2017-07-09 21:05:45 10051 2

原创 pyfolio的information_ratio无法使用的问题

pyfolio随着版本的更新,逐渐不在自己计算一些评价指标,譬如sharpe_ratio,information_ratio等等,目的是为了和zipline保持一致。那么要算这些怎么办呢?使用emprical这个包里面的计算方法。        但是,在0.3.0的emprical版本中,没有information_ratio这个指标,所以,在使用pyfolio的时候,会有不能在module中

2017-07-05 21:44:06 2522

原创 pyfolio教程1--第一个pyfolio demo

相比于alphalens,pyfolio使用起来要简单很多。安装与alphalens一样,直接pip就可以了。数据也很简单,基本在国内使用的话,用于benchmark不可能让pyfolio自己去获取,所以,最简单的demo中,只需要我们的portfolio的daily return与benchmark的daily return就可以了。直接上一段代码吧,避免以后要用pyfolio的时候不知道如

2017-07-01 22:54:12 11987 2

原创 alphalens教程4--Turnover Analysis

广告:本人的单因子测试视频教程https://edu.csdn.net/course/detail/25572 衡量一个因子的好坏还有一个指标,就是稳定性。因子的稳定性直接决定了你的调仓频率。1.基本数据获取 每天每个股票的因子分层位置。 我们先来看第一个计算换手率的函数。def quantile_turnover(quantile_fac...

2017-07-01 21:58:59 3731

Quartus_II使用指南(非常详细)

好的资源哦,对于入门fpga的人来说不可多得。详细介绍了fpga集成开发环境的使用及一些技巧。

2013-03-18

ds3231读取信息出错的分析文档,很详细的

对该芯片时钟读取错误的详细分析和处理方法

2013-01-20

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除