编程小白如何结合量化实例学习python量化建模?

论坛 期权论坛 期权     
lionmeow   2018-10-15 23:45   4854   9
本人是编程小白(0基础),本身是金融从业者,对量化投资很感兴趣,想在ricequant上建立自己的量化模型。无奈市面上要么就是纯python编程的书,要么直接跳过编程,直接讲量化的书。论坛里的实例也是蜻蜓点水。有没有既适合编程零基础,同时又紧密和量化方向结合的教程,资料,案例?
分享到 :
0 人收藏

9 个回复

正序浏览
9#
吴晓  3级会员 | 2018-10-15 23:45:47 发帖IP地址来自
国内量化门槛高,懂编程的人也不算普及吧,发现国内有一个创建量化策略非常方便的微信端工具,阿法金融(app貌似也有),不需要编程,适合想自己做量化投资的人。
主要是把做量化策略的逻辑直观化,形成各种基础数据指标、形态、条件,可以自己设置仓位,止盈止损,然后可以回测查看收益、胜率、回撤率,对于不懂编程的人蛮不错。
8#
MindGo  3级会员 | 2018-10-15 23:45:46 发帖IP地址来自
小编说一下经验吧~~
本人本科,物理学专业,前期实习的时候一直在金融公司,p2p什么的,毕业后就来了这里MindGo,同花顺旗下的量化投资平台,我是从喜欢炒股,到发现量化选股、择时慢慢的开始进入量化的,Python语言还得自学,(切入点比较奇怪,炒股->选股需求->MindGo问财选股->自己学习写Python,至于金融知识,只能自己看书狂补)以前做产品时候只和技术交流,但是语言还是差很多,现在进入量化需要自己会用python,加油吧~入门量化不算太难~~所以专业不会受限
如果有什么问题,可以加知乎上或qq交流(217901996),也可以关注下我们的MindGo量化平台公众号~~刚逛知乎,下面是如何系统的学习量化~~












我们从几个问题的角度说明对学习量化投资的建议:
你学习量化投资需要掌握哪些技能?
作为一个金融类行业,金融市场的知识储备自然是必须的。之前有传闻CFA在2019年的考试要添加编程技能方面的科目,所以这意味着金融人也需要学会编程了,具体学什么语言,建议可以从Python/R选一种,毕竟这两种语言对数学相对友好。虽然,量化投资初期对数学要求并没有那么高,可能你只有高中数学的水平,也可以勉强应对。不过,在量化投资的后期需要开发高级策略的时候, 需要扎实的统计学基础和时间序列知识,所以,希望你可以踏实地打好数据基础。
量化投资有哪些优质的知识社区?
国内的量化知识社区我们简单地列举几个:
①MindGo量化社区;
② 优矿量化社区;
③ 聚宽量化社区;
④ 米筐量化社区;

建议如果偏好浏览国内社区的用户,可以从这篇文章入门:《10分钟带你开启量化交易之旅 》,相信你们会受益匪浅。

至于国外的量化知识社区,大家可以参考问题:量化投资方面,国内外都有哪些好的论坛或者网站?  其中的几个优质回复已经包揽了很多优质的国外平台。

入门量化投资建议你阅读哪些书籍?
入门而言,书籍才是最好的学习材料,毕竟能够帮助我们搭建完善的知识体系,这里我推荐几本我们认为比较适合量化投资学习的书籍~
① 《宽客》
② 《机械交易系统》
③ 《海龟交易法则》

更多的书籍分享可以参考问题:近十年量化交易领域最重要的十本参考书是哪些?

可以通过哪些方式上结交优秀的量化投资宽客?

就国内而言,各大量化平台的官方群里有很多正在学习或者已经非常优秀的量化交易从业者了,比如我们平台的官方群里就已经沉淀了很多厉害的宽客 ,官方群暂时不放了,官网上有二维码,有兴趣的可以自行扫描,当然,像知乎这种卧虎藏龙的社区也有很多量化高手哟,想找到这些知乎高手,大家可以参考问题: 知乎在量化交易领域有哪些专家级人物?

今天分享了这么多,就是希望能够给大家梳理一个入门量化投资的学习体系,虽然确实“引经据典”颇多,但是也确实是沉甸甸的干货,如果大家觉得还算良心的话,可以给咱点波赞,顺便关注一波MindGo量化社区~
有耐心看到这里的各位,让我们共同进步,量化江湖见~




最后分享一些常用经典的量化策略
知乎用户MindGo:多角度选股模型(分享)
MindGo:简单的均线收缩择时
MindGo:虚拟遗憾最小化应用于量化择时与交易
MindGo:【爬虫】获取交易所公告信息
MindGo:【爬虫】使用爬虫技术获取盘后龙虎榜
MindGo:【机器学习】传统机器学习到深度学习,向脑科学进发
MindGo:抛物线逼近择时策略
MindGo:给我一把刀,我能切开整个宇宙
MindGo:【策略编写系列】单因子策略—市净率因子
MindGo:RSRS指标择时及大小盘轮动
MindGo:【特色数据研究】业绩预告事件
MindGo:【策略编写系列六】双板块轮动策略(入门)
MindGo:【机器学习】机器学习中的集体智慧(附策略)
MindGo:【策略编写系列四】均值回归策略(打分法实战)
MindGo:【策略编写系列三】动量策略(Python字典实战)
MindGo:【策略编写系列二】多因子策略

7#
拉宾诺维奇同志  2级吧友 | 2018-10-15 23:45:45 发帖IP地址来自
http://www.pythonprogramming.net

这个人讲的很不错,网站本身不需要爬墙,但是有youtube视频。
6#
量子金服  1级新秀 | 2018-10-15 23:45:44 发帖IP地址来自
QuantDesk与Ricequant类似,也是做量化回测、模拟、实盘的平台。QuantDesk的视频教程也许可以帮到你,这个是结合平台开始讲python的,基本上听完就可以有个大概了解并且建立自己的量化模型了:
第一章第一节:注册与安装
第一章第二节:数据介绍
第一章第三节:平台IDE策略编写
第二章第一节:python入门-安装与基础
第二章第二节:Python入门-条件循环嵌套与numpy
第二章第三节:python入门-pandas与调优
第二章第四节:python入门-QD-SDK函数介绍
第三章第一节:QD平台编写股票策略
第三章第二节:QD平台编写期货策略
第三章第三节:QD平台编写多品种交易策略
第三章第四节:QD平台编写跨周期策略
第三章第五节:期权策略
第三章第六节:期权蝶式套利策略
第三章第七节:期权牛市垂直价差套利
第三章第八节:参数优化
第四章第一节:Alpha策略流程
第四章第二节:QD-SQAlpha框架策略编写


可以解决的问题:
  • 掌握基本的Python编程语法
  • 了解量化策略研发流程
  • 初步建立自己的量化体系


QuantDesk可以在这里下载:云宽客
网上也有许多其他的视频教程,你也可以多看多学,把基础打的再牢固一点
5#
JD-Quant  4级常客 | 2018-10-15 23:45:43 发帖IP地址来自
既然看到了那就不能修手旁观了,作为小白想要学习量化必须对量化有个整体的了解然后才能学习到最后才能自己建模。下面我就来详细介绍下:

一、什么是量化交易

量化交易,指的是利用数学模型,在金融市场中寻找稳定超额收益的投资手段。量化交易有着挖掘信息能力强,不易受主观情绪影响,下单及时、准确,风险控制严格等特点,能够获得稳健的收益。而其相对于传统主观投资,上手难度也比较大,门槛较高。入门量化交易,主要需要了解如下几方面的知识。

1.数学/统计学知识
既然说到用数学模型,那数学和统计学的知识是必不可少的。由于国内金融市场尚不完备,一些衍生品交易受到限制,所以相较国外市场,能用到的数学/统计学知识也要少一些。对于非理工背景的投资者,需要补充基础的高等数学,线性代数,概率论,统计学,最优化理论等等学科的知识,这些内容可以在高校教科书中找到。对于一些新兴的利用机器学习的交易策略,还需要了解一些数据挖掘的知识。但既然是入门,这部分自然不是必要的。
另外,计量经济学的应用尤其广泛。进行策略研究时经常要面对大量的时间序列、面板数据。虽然在实践过程中更加注重策略结果,只要能赚钱的策略就是好策略,但在严谨的计量理论的支持下,回归结果更准确,能更好的刻画数据背后的关系,故往往更容易得到与预期相近的结果。其中,时间序列回归与截面、面板回归的逻辑与假设均有较大区别,且广泛用于刻画及预测金融资产的收益,波动。计量经济学的书籍推荐伍德里奇的《计量经济学导论:现代观点》;时间序列推荐布鲁克斯的《金融计量经济学导论》。

2.编程能力
由于量化策略要处理大规模的数据,并采用复杂的数学算法,故需要利用程序来完成这一过程。大部分面向对象的编程语言,如Python,Java,R等都可以胜任这一工作。我在这里推荐Python,在业界比较主流,其特点主要是包括大量第三方开发的包,如处理数据的Numpy,Pandas,和金融包Talib,和各个平台及其他语言兼容性良好。其中Pandas是美国知名对冲基金AQR开发的数据处理包,非常适合用于金融数据。Python的学习可以通过《利用Python进行数据分析》等书籍进行学习,也可以通过一些网上教程快速入门。在实际应用的过程中,应该多参考各个工具包的API文档。
回测程序主要包括导入数据及初始化账户,每个交易时间点择时条件、调仓逻辑,及回测结果计算,绘制净值曲线等等。京东量化平台封装的回测环境简化了这一过程,能够方便的对策略进行测试。(http://quant.jd.com

3.金融基础知识
量化交易,根本上是金融市场中的行为。虽然该岗位对数学、编程知识有要求,但脱离了其金融本质,就无法设计出优秀的策略。量化投资者需要了解各种金融资产的性质,以及影响其价格的因素。对于股票而言,公司的基本面及财务情况,其所处行业的形势能够从某种程度上反映在其股票价格中,因此投资者应对此有基本了解。这部分可以参考博迪,凯恩,马库斯的《投资学》,以及财务会计,报表相关书籍。此外,中国市场受到人为操控的因素影响较为显著,在实盘操作中,量化投资者在依赖量化策略进行投资决策的同时,一般也会加入一些主观判断,以更及时捕捉市场走势,获得更高的收益。因此,宏观经济,政策形势对金融市场的影响,也是投资者不能忽视的问题。每天看看华尔街见闻,长久以来可以培养金融直觉。

4.策略研究能力
即是将以上内容综合运用,将投资思想程序化,开发成为有投资价值的策略的能力。起步时,应多参照已有的较为成熟的策略,进行完善复制。策略本身的逻辑可能三言两语就能概括,但在实际执行的过程中的细节不可忽略。众所周知,在回测中表现突出的策略在实盘中不一定有效,但在回测中效果都不好的策略,难以在实盘重有良好的表现。过度拟合,幸存者偏差和使用未来函数都是新手经常会出现的错误,避免这些错误,才能让回测结果更好的接近真实情况。同时,在得到回测结果后,如何对收益进行归因分析,研究持仓股票,风险暴露,并对参数进行优化,也是量化投资者需要解决的问题。
一些经典的投资策略包括多因子策略(Fama-French三因子模型),技术指标择时(MACD,布林带等),动量反转策略,事件驱动策略,统计套利策略等。其中很多策略源于外国学术论文,高质量学术期刊包括Journal of Finance,Journal of Financial Economics等等。同时有一些系统的教学书籍,包括Barra Handbook(多因子圣经),Quantitative Equity Portfolio Management(主要讲解投资组合管理),Quantitative Trading Strategies(主要讲如何构造量化策略)。

5.在实践中学习
策略回测终究是回测。基于过去行情设计的策略,一定能在过去的时间区间内有良好的表现。但同样的历史不一定会重演,随着市场趋势和微观结构的改变,策略在未来的时间可能不会按照预期的方向发展。实盘中还存在报表信息公布延迟,交易摩擦,下单对市场价格影响等问题。故一个交易策略,在经过严谨全面的回测检验后,要在实盘上检验其真正效果。
在接触量化交易初期,了解数学编程,模型搭建中的细节处理都是绕不开的问题。而如今各种技术手段都较为成熟,可供大家使用,一个成功的投资者与众不同的地方一定在于其设计策略的思想,和对市场的把握。设计交易策略应以背后的金融直觉为基础,是我一直坚信的理念。希望各位投资者能够在量化投资领域中找到自己独特的视角,成为下一个西蒙斯!


二、量化的学习
1、  软件推荐:python
常用的量化软件有python、matlab、java、C++。从开发难度而言python和matlab都比较容易,java和C++麻烦一些。从运行速度而言,C++、java要快于matlab和python。不过对于大部分人而言,尤其是初学者,开发占用的时间远大于运行时间。如果追求运行速度的话,先将策略开发出来,再用C重写也不迟。另外,从量化资源而言,python资源多于matlab,而且matlab是商业软件,python是免费的。因此我推荐大家用python。
使用python的话,最好下载一个anaconda。这个软件将常用的库都集成好了,免去自己安装的烦恼。下载地址:Download Anaconda Now!
python教程推荐这个网站:Table of Contents,只需要看第一部分就可以了。该教程不仅介绍了python,而且介绍了numpy,scipy,pandas,matplotlib等科学计算库。

2、  数据源推荐:tushare
Tushare支持的数据很全面,相比wind个人版量化接口,tushare更友好。因此推荐tushare。下载地址:TuShare -财经数据接口包

3、  量化框架:推荐使用量化平台
量化平台可以看成是一个已经搭建好的框架。用户只需添加一些自己的买卖条件,即可回测策略,免去了自己从无到有搭建基础框架的过程。
这里推荐一下咱们的京东平台。首先京东的数据和撮合机制还是很专业的,比如交易考虑到了涨停不能买、跌停不能卖的问题,另外京东在回测速度方面目前也具有优势。
以上是做量化的一些基础工具。另外根据策略类型的不同,也会用到一些其他工具。

1、  数据库推荐:sqlite
如果所做的策略需要存储很多数据,那么就需要一个数据库软件,配合使用。Python自带sqlite3库,可以在python中方便的操作sqlite数据库。Sqlite下载地址:SQLite Home Page
使用方法可以参考:SQLite - Python | 菜鸟教程

2、  机器学习推荐:scikit-learn
Scikit-learn封装了很多常用的算法,直接用就可以了,避免了自己写算法。网址:
scikit-learn: machine learning in Python另外推荐一本机器学习的书“集体智慧编程”,介绍及购买链接:《集体智慧编程》([美]Toby Segaran(托比·西格兰))【摘要 书评 试读】- 京东图书

3、  网络信息采集推荐:Beautifulsoup等
关于这方面可以参考“Python网络数据采集”这本书,介绍和购买链接在这里:《Python网络数据采集》([美]米切尔(Ryan Mitchell))【摘要 书评 试读】- 京东图书

三、如何用python建立策略
手把手教你使用京东量化平台完成简单的策略回测-Python篇
今天来教大家使用量化平台中Python的部分,完成一个简单的策略回测。
首先,回测界面是长这个样子的
可以看到,左半边的大部分区域是编辑代码的地方,开发环境会自动识别Python语言的关键词。在代码区上面的设置标志里面可以个性化调节开发环境的视觉效果。
Python的回测代码主要包括init()函数,handle_data()函数,以及其他用户自定义内容。如果在每天开盘前要进行额外的处理或计算,可选择添加before_trade()函数。
def init(context):
        # 这里用来写策略开始时要做什么
def before_trade(context):
        # 非强制,在这里写每天开盘之前要做什么,不可下单
def handle_data(context, data_dict):
        # 这里用来写每天开盘后要做什么,可以是计算,输出日志,或者下单
其中,init()是初始化函数,可以设置基准,滑点,佣金等回测参数,也可以利用context自定义变量。在Python及大部分其他编程语言中,在局部变量只在该变量定义的函数体有效,在其他函数体内是无效的。而context被定义为一个局部变量,可以把内容在不同函数代码之间传导。该函数在回测开始时运行一次。
handle_data()是每个交易时间点(分钟/日)时自动运行一次的函数,可以在此函数内设置交易判断和下单,是策略核心逻辑所在。
用户可以按照Python语言规则定义其他函数,包括运算/数据处理函数,也可以通过task()函数设置自定义函数的执行频率和执行时间。
接下来,我们用一个简单的策略来演示这个过程。我们策略的内容是对平安银行(000001.SZ)进行择时,如果前一天收益率大于中证全指收益率,则买入持仓,反之则不持仓。
首先,我们在init()函数里面设置我们的股票和比较的标的:
# init方法是您的初始化逻辑。context对象可以在任何方法之间传递。
def init(context):
   context.stock = '000001.SZ'
context.set_benchmark = '000985.SH'
其中,只要在“#”后面的内容都是注释,不会被Python编译。设置stock和set_benchmark对象时,一定要在前面加上“context.”,这样才能传递到之后的函数中。设置标的后,回测中的基准曲线和收益将采用设置的指数。
然后我们来编辑每个交易日的逻辑:
# 日或分钟或实时数据更新,将会调用这个方法
def handle_data(context, data_dict):
   price = get_history(2, '1d', 'close')[context.stock]
priceBm = get_history(2, '1d', 'close')[context.set_benchmark]
这部分代码获取了目标股票和标的的历史价格,其中context.stock和context.set_benchmark都在init()函数中定义好了。get_history()函数是京东量化平台封装的取历史交易数据的函数。其中“2”代表要取历史两天的数据,以便计算上个交易日的收益。“’1d’”和“'close’”分别表示数据频率为天,所需数据为收盘价。返回的价格为pandas.Series类型。各个平台函数的使用方法可以查看帮助板块中的API文档。
为了方便计算收益率,我自定义了一个CalRet()函数,输入连续两天的价格,计算第二天的收益率:
def CalRet(price):
   r = (price[1] - price[0]) / price[0]
return r
这段函数写在handle_data()之前。自定义函数编辑的语法符合Python语法即可。这个函数会返回float类型的r。
我们回到handle_data()函数,利用刚刚定义的函数和获取的股票及指数价格计算收益率:
   ytdRet = CalRet(price)
bmRet = CalRet(priceBm)
可以得到上个交易日股票的收益率ytdRet和指数收益率bmRet。之后我们进行判断,如果ytdRet大于bmRet,则全仓买入平安银行股票,否则清仓。
   if ytdRet > bmRet:
       order_target_percent(context.stock, 1)
   else:
       order_target_percent(context.stock, 0)
order_target_percent()是量化平台编辑的下单函数,可以设置某个股票的仓位至一个百分比。平台同样支持加减仓,用手数,金额等方式下单,详见API文档。
现在,我们就完成了这个策略的设计。回测平台会自动按照这个逻辑,在回测区间内完成交易。
我们设置回测区间为今年,初始金额为一百万,调仓频率为每天,点击“运行回测”。结果如下:
我们可以看到在回测区间内,策略和基准的净值曲线,每天盈亏,买卖等图像,以及回测的技术指标。同时可以查看相对收益,对数收益等。我们可以看到,这个策略没有能够跑赢大盘。当然,这只是一个例子。
在左边的交易详情,持仓和输出日志中可以看到回测中的具体情况,方便进行归因分析,调整策略等等,同时还可以查看历史回测记录。


四、对于书籍的推荐这里就只添加一个链接吧http://club.jr.jd.com/quant/topic/963246

五、更加系统的学习地址
新手专区:

量化学习资料:京东量化平台(quant.jd.com)-全方位量化策略开发平台。量化交易、量化投资、云端在线编程、策略历史回测、实盘模拟、量化社区


Python编程:

Python学习资料:https://club.jr.jd.com/quant/topic/834227
python学习教程:https://club.jr.jd.com/quant/topic/760702
python、java编程基础视频1:https://club.jr.jd.com/quant/topic/877114

python、java编程基础视频2:https://club.jr.jd.com/quant/topic/877215

python技术指标均线应用:https://club.jr.jd.com/quant/topic/778188

python技术指标kdj应用:https://club.jr.jd.com/quant/topic/778178

python指标macd的应用:https://club.jr.jd.com/quant/topic/778177

python去除是停牌、退市、st创业版股票:https://club.jr.jd.com/quant/topic/778173

python策略中获取指数成分股的历史行情数据:http://club.jr.jd.com/quant/topic/938309


策略与应用:

如何判断站上20日均线:https://club.jr.jd.com/quant/topic/777123

如何选出上市时间小于20天的品种:https://club.jr.jd.com/quant/topic/889370
统计套利之配对交易(pairs trading):https://club.jr.jd.com/quant/topic/787798
文本挖掘如何应用于量化投资:https://club.jr.jd.com/quant/topic/843393
文本挖掘之数据爬虫:https://club.jr.jd.com/quant/topic/871691
利用舆情情感得分进行量化选股初探:https://club.jr.jd.com/quant/topic/856753
羊驼策略初步研究一:https://club.jr.jd.com/quant/topic/854721
如何清洗“停牌”“退市”“ST”品种:https://club.jr.jd.com/quant/topic/869640
技术分析量化大讲堂之开篇—SMA:talib vs.行情软件:https://club.jr.jd.com/quant/topic/839442
技术分析量化大讲堂——上升三角形整理形态:https://club.jr.jd.com/quant/topic/853825
技术分析量化大讲堂------上升三角形(修改版):https://club.jr.jd.com/quant/topic/867675
技术分析量化大讲堂——多方炮:https://club.jr.jd.com/quant/topic/881252
基于京东平台的因子测试:https://club.jr.jd.com/quant/topic/862631
基于京东平台的因子测试(续):https://club.jr.jd.com/quant/topic/878096
量化策略方法分享之数据挖掘工具——决策树算法:https://club.jr.jd.com/quant/topic/841642
量化策略方法分享之数据挖掘工具——决策树算法(续):https://club.jr.jd.com/quant/topic/841923
摩根斯坦利旗下基金的择时指标介绍:https://club.jr.jd.com/quant/topic/854923
基于隐式马尔可夫模型的市场择时简介:https://club.jr.jd.com/quant/topic/883453
成长股内在价值策略分享:https://club.jr.jd.com/quant/topic/902319
股价增长率与营业利润率之比选股策略:https://club.jr.jd.com/quant/topic/836018
股价增长率与营业利润率之比选股策略(修改版):https://club.jr.jd.com/quant/topic/846196
股价增长率与营业利润率之比选股策略(修改X2版):https://club.jr.jd.com/quant/topic/860683
选择涨停股的技巧有哪些:https://club.jr.jd.com/quant/topic/774972

京东量化平台初始化类函数及任务事件类函数介绍:https://club.jr.jd.com/quant/topic/877220

如何在JD Quant画出MACD:https://club.jr.jd.com/quant/topic/877985

多因子选股:https://club.jr.jd.com/quant/topic/878463

小市值策略:https://club.jr.jd.com/quant/topic/894215

手把手教你写一年80%收益的成长股策略(一):http://club.jr.jd.com/quant/topic/930606

手把手教你写一年80%收益的成长股策略(二):http://club.jr.jd.com/quant/topic/930857

如何控制回撤:http://club.jr.jd.com/quant/topic/913308

控制回撤的第二种方法--依据持仓总资金:http://club.jr.jd.com/quant/topic/914524

小工具函数——查询涨跌停:http://club.jr.jd.com/quant/topic/930708

高卖低买赚Spread策略分享:http://club.jr.jd.com/quant/topic/921694

资本资产定价模型简介-多因子寻找Alpha&统计套利:http://club.jr.jd.com/quant/topic/935852

依据最大回撤择时策略:http://club.jr.jd.com/quant/topic/940473

一个简单的买卖止盈止损分时买卖框架:http://club.jr.jd.com/quant/topic/939467


以上就是小白如何学习量化进行策略的建立,当然是基于我们平台的。
大家还希望了解更多有关于量化的知识可以登录我们平台学习
http://quant.jd.com/也可以加入我们的量化交流群:456448095
4#
李伟振  2级吧友 | 2018-10-15 23:45:42 发帖IP地址来自
好好学习量化就能成功的!
3#
JoinQuant  3级会员 | 2018-10-15 23:45:41 发帖IP地址来自
这个答案就是专门帮小白快速入门的,十行代码带你量化交易入门。
学习量化交易如何入门? - 聚宽君的回答

另外如果你编程基础不为零  量化课堂 - JoinQuant 上的内容很不错。
2#
BigQuant  2级吧友 | 2018-10-15 23:45:40 发帖IP地址来自
结合编程和量化的内容,我们社区和学院有很多:BigQuant社区。推荐以下内容:
  • 策略开发
策略大都附有python代码,可以点击 克隆策略,在 我的策略 里进行开发。
2.编程知识入门
平台使用的是python语言,可以直接在 我的策略 里建立新notebook进行编程练习。
掌握以上知识,从基础进阶了以后,推荐一些扩展知识:

3.Python库
  • numpy
    介绍:一个用python实现的科学计算包。包括:1、一个强大的N维数组对象Array;2、比较成熟的(广播)函数库;3、用于整合C/C++和Fortran代码的工具包;4、实用的线性代数、傅里叶变换和随机数生成函数。numpy和稀疏矩阵运算包scipy配合使用更加方便。
  • scipy
    介绍:SciPy是一款方便、易于使用、专为科学和工程设计的Python工具包。它包括统计、优化、线性代数、傅里叶变换、信号和图像处理、常微分方程求解等等。
  • pandas
    介绍:Python Data Analysis Library 或 pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。Pandas 纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的工具。pandas提供了大量能使我们快速便捷地处理数据的函数和方法。你很快就会发现,它是使Python成为强大而高效的数据分析环境的重要因素之一。
  • quantdsl
    介绍: quantdsl包是Quant DSL语法在Python中的一个实现。Quant DSL 是财务定量分析领域专用语言,也是对衍生工具进行建模的功能编程语言。Quant DSL封装了金融和交易中使用的模型(比如市场动态模型、最小二乘法、蒙特卡罗方法、货币的时间价值)。
  • statistics
    介绍:python内建的统计库,该库提供用于计算数值数据的数学统计的功能。
  • PyQL
    介绍: PyQL构建在Cython之上,并在QuantLib之上创建一个很浅的Pythonic层,是对QuantLib的一个包装,并利用Cython更好的性能。
  • pyfin
    介绍:针对于中国市场的Pandas定量投资金融工具包
  • vollib
    介绍:Vollib是用于计算期权价格、隐含波动率的纪念日工具包。能够非常快速和准确的技术来获得期权的隐含波动率。
  • QuantPy
    介绍:python量化金融框架。目前还是一个alpha版本,可以从雅虎网站获取每日收益的投资组合类。计算夏普比率和有效边界,并实现投资组合优化。
  • Finance-Python
    介绍:纯python实现的金融计算库,目标是提供进行量化交易必要的工具,包括但不限于:定价分析工具、技术分析指标。其中部分实现参考了quantlib。
  • ffn
    介绍:ffn是一个专门为从事量化金融工作的人们提供金融数据分析功能的python包。 它位于重量级包(Pandas,Numpy,Scipy等)的基础上,并提供了广泛的功能模块,包括性能测量、图形可视化和数据转换。
  • pynance
    介绍:PyNance是用于从股票和衍生品市场检索、分析和可视化数据的开源软件。 比较特别的是它能够用于生成机器学习算法的特征和标签的工具。
  • tia
    介绍:TIA是针对彭博数据库设置的,它提供bloomberg数据访问、更简便的pdf文档生成、回溯测试功能、技术分析功能、收益率分析和几个常用的Windows utils的工具包。
4.交易和回测
  • BigQuant
    介绍:人工智能量化交易平台,拥有丰富的金融数据,可直接使用90%的主流机器学习/ 深度学习Python包。
  • TA-Lib
    介绍:TA-Lib的简称是Technical Analysis Library,主要功能是计算价格的技术分析指标。 是技术分析者和量化人员在策略开发中常用的量化分析包。
  • easytrader
    介绍:提供券银河/银河客户端/广发/湘财证券/雪球的基金、股票自动程序化交易以及自动打新,支持跟踪 joinquant /ricequant 模拟交易 和 实盘雪球组合, 量化交易组件。
  • vnpy
    介绍:vn.py - 基于python的开源交易平台开发框架,在github上是一个比较火的项目,目前对接的交易接口特别丰富,无论是股票接口还是期货接口。
  • 实盘易
    介绍:实盘易(ShiPanE)Python SDK,通达信自动化交易 API 及量化平台。
  • easyquotation
介绍:实时获取新浪 / Leverfun 的免费股票以及 level2 十档行情 / 集思路的分级基金行情, 很小,但非常实用。
  • pyalgotrade-cn
    介绍:Pyalgotrade-cn 在原版的基础上加入了A股历史行情回测,并整合了tushare提供实时行情。以便大家对自己的策略进行回测和模拟测试。这个项目提供了比特币的交易接口。
  • pyktrader 基于pyctp接口,并采用vnpy的eventEngine,使用tkinter作为GUI的python交易平台
  • trade
    介绍:trade是金融应用的一个包。 它主要是用于分析主题投资和事件驱动策略。 主题代表可以交易的任何东西,而事件则代表影响一个或多个主题的任何内容,如证券交易所政策或股票分割。它是针对与金融市场有关的任何一种主题和事件进行开发的投资工具包。
  • zipline
    介绍:一个事件驱动股票策略量化回测框架,由Quantopian开源,目前国内的很多Python编程语言的在线量化回测平台都是以zipline为模板开发应用的。
  • QuantSoftware Toolkit
    介绍:QSToolKit(QSTK)是一个基于Python的开源软件框架,旨在支持组合构建和管理。 为金融学生、计算机学生和具有编程经验的量化分析师建立QSToolKit。支持建模分析、回测分析和实盘交易。
  • quantitative
    介绍:quantitative是一个事件驱动和多功能的反向测试库。 用户可以用定量测试他们的交易模型。由于仍在开发中,谨慎使用。
  • analyzer
    介绍:用于实时金融数据收集、分析和开发交易策略的一个金融分析包。
  • bt
    介绍:bt是用于测试定量交易策略的Python的灵活的backtesting框架。 bt建立在ffn之上,封装了很多机器学习、信号处理和统计函数。bt的目的是建好轮子,让量化人员把重点放在策略开发上。
  • rqalpha 介绍:一款量化回测平台。
  • quantconnect 介绍:国外一款在线的量化回测平台。
  • backtrader
    介绍:一个功能丰富的Python测试和交易框架。backtrader能够让策略研究员专注于编写可重用的交易策略、指标和分析器,而不是花时间构建基础设施。理念类似bt.
  • pythalesians
    介绍:网上对这个量化分析包的介绍资料并不多。
  • pybacktest
    介绍:在Python 结合Pandas包的矢量化测试框架,旨在帮助宽客回测更容易、 紧凑、简单、快速。
  • pyalgotrade
    介绍:PyAlgoTrade是一个事件驱动的算法交易Python库。 尽管设计初衷是回溯测试,但现在已经可以实盘交易,并且包含比特币的交易。pyalgotrade-cn是国内版针对中国市场的开源量化包。
  • tradingWithPython
    介绍:从名字就可以看出,这是一个使用Python 来进行交易的一个量化分析包,使用它可以完成一系列金融量化教程的学习。
  • algobroker
    介绍:这是一个算法交易执行引擎。
  • pysentosa
    介绍:pysentosa是一个针对sentosa自动化交易系统的Python接口,作者Wu Fuheng
  • finmarketpy
    介绍:finmarketpy是一个基于Python的库,帮助你能够使用简单易用的API分析金融数据以及回测交易策略。
  • volatility-trading 基于Euan Sinclair的波动率交易的波动率估计器
  • quant 在这里收集了一些量化金融和算法交易的资料,大多数基于Quantopian、Zipline、Pandas的ipython notebook。
5.风险分析
  • pyfolio
    介绍:组合投资和风险分析的库,是与zipline配合使用的一个组合风险分析工具。BigQuant平台可直接使用,已安装完成。
  • qrisk
    介绍:和pyfolio一样,也是配合zipline使用的,主要用来分析因子风险。
  • finance
    介绍:财务风险计算库,该项目的目的是提供易于使用的python代码进行财务风险计算。
  • qfrm
    介绍:定量金融风险管理,用于度量、管理和可视化投资组合风险的极好的OOP工具。
  • visualize-wealth
    介绍:投资组合构建与定量分析
  • VisualPortfolio
    介绍:用于可视化分析投资组合的工具

1#
菱歌  4级常客 | 2018-10-15 23:45:38 发帖IP地址来自
一、Python与量化金融
   在量化投资领域,获取数据、整理数据、模型计算、数据图形化均可以用python实现;而且Python强大的库功能使其非常适合做quant类工作的语言,进而逐渐成为科学计算方面的统治级语言;IPython,pandas等重量级神器更是为Quant类工作量身定做;以后python在量化投资中的地位会越来越重要。

二、Python基础教程
三、Python量化投资教程
四、Python公开课视频
4.【史上最全Python视频重磅发布】 http://bbs.pinggu.org/thread-3810465-1-1.html6

关于更多量化投资的文章请关注专栏:清华大学量化投资协会成果集萃 - 知乎专栏

或者关注我的知乎账号:温如
量化投资协会主页:http://www.thuquanters.com
量化投资协会论坛:清华大学学生经济金融论坛
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:
帖子:
精华:
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP