导航:首页 > 编程语言 > python量化

python量化

发布时间:2022-01-31 14:26:11

① 用python怎么做量化投资

本文将会讲解量化投资过程中的基本流程,量化投资无非这几个流程,数据输入------策略书写------回测输出
其中策略书写部分还涉及到编程语言的选择,如果不想苦恼数据输入和回测输出的话,还要选择回测平台。
一、数据
首先,必须是数据,数据是量化投资的基础
如何得到数据?

Wind:数据来源的最全的还是Wind,但是要付费,学生可以有免费试用的机会,之后还会和大家分享一下怎样才Wind里摘取数据,Wind有很多软件的借口,Excel,Matlab,Python,C++。
预测者网:不经意间发现,一个免费提供股票数据网站 预测者网,下载的是CSV格式
TB交易开拓者:Tradeblazer,感谢@孙存浩提供数据源
TuShare:TuShare -财经数据接口包,基于Python的财经数据包,利用Python进行摘取
如何存储数据?
Mysql
如何预处理数据?

空值处理:利用DataFrame的fill.na()函数,将空值(Nan)替换成列的平均数、中位数或者众数
数据标准化
数据如何分类?
行情数据
财务数据
宏观数据
二、计算语言&软件

已经有很多人在网上询问过该选择什么语言?笔者一开始用的是matlab,但最终选择了python
python:库很多,只有你找不到的,没有你想不到,和量化这块结合比较紧密的有:
Numpy&Scipy:科学计算库,矩阵计算
Pandas:金融数据分析神器,原AQR资本员工写的一个库,处理时间序列的标配

Matplotlib:画图库
scikit-learn:机器学习库
statsmodels:统计分析模块
TuShare:免费、开源的python财经数据接口包

Zipline:回测系统
TaLib:技术指标库
matlab:主要是矩阵运算、科学运算这一块很强大,主要有优点是WorkSpace变量可视化

python的Numpy+Scipy两个库完全可以替代Matlab的矩阵运算
Matplotlib完克Matlab的画图功能
python还有很多其他的功能
pycharm(python的一款IDE)有很棒的调试功能,能代替Matlab的WorkSpace变量可视化
推荐的python学习文档和书籍
关于python的基础,建议廖雪峰Python 2.7教程,适合于没有程序基础的人来先看,涉及到python的基本数据类型、循环语句、条件语句、函数、类与对象、文件读写等很重要的基础知识。

涉及到数据运算的话,其实基础教程没什么应用,python各类包都帮你写好了,最好的学习资料还是它的官方文档,文档中的不仅有API,还会有写实例教程
pandas文档
statsmodels文档
scipy和numpy文档
matplotlib文档

TuShare文档
第二,推荐《利用Python进行数据分析》,pandas的开发初衷就是用来处理金融数据的
三、回测框架和网站
两个开源的回测框架
PyAlgoTrade - Algorithmic Trading

Zipline, a Pythonic Algorithmic Trading Library

② 学习量化选择Python还是R比较好

python对于新手来说较容易入门,而且python目前国内多家量化交易平台都支持,比如优矿、掘金量化、米筐、聚宽等,反而支持R语言的平台很少,所以说python语言做量化才是主流。

③ Python和金融分析的关系量化交易内容深度

1. Python适合做数据分析,有很多成熟的数据分析框架:Pandas, Numpy等, 这些在课程中都有教。这些框架都可以很方便的完成数据分析的任务。
2. 量化交易课程中,传智播客老师给学生讲了关于股票各方面的知识点,以及使用代码来分析(数据分析,人工智能)买入卖出的时间点(基于大量数据),然后用代码来完成买入卖出股票,如果有大量的数据作为参考的话,对于股票的盈利会更加轻松。

④ Python学习,量化交易的应该怎么学

掘金量化社区就有很多宽客互动交流学习,再说掘金有很多针对新手入门的指引,可以让您从0到1一步步成为一个合格的quant.

⑤ python 为什么适合做量化

python是一个完全面对对象的可脚本,可二进制编译运行的高级语言。一般以脚本方式运行,运行调试完可生成二进制代码来保证运行的速度。代码非常简洁
拥有无与伦比的配套标准库。一般广泛用于各种领域。尤其在科学界流行。
在python环境下,有科学运算库,界面库,各种算法库。非常适合用于科学研究。
matlab中的金融工具虽然比较全面,也比较好用,不过像我这种喜欢搞些新算法。同时还要和交易接口编程的就非常喜爱python了。
python的算法库 :numpy ,scipy等,用于统计的库。
python的数据可视化库 matplotlib(上面那个贴图就是例子),PyQt,pygtk,pyside等等,前面说的都是二维的。三维的VTK等等。
而且今后和CTP等交易平台对接的话,matlab就无能为力了,到时候再学python岂不是晚了。

⑥ 量化投资 用python好 还是c++

Python是非常适合做quant类工作的语言,本身就是科学计算方面的统治级语言,现在加入了IPython,pandas等重量级神器,为Quant类工作量身定做,而且仍在飞速发展中,以后会越来越重要。

关于其他语言,首先介绍一下我自己最喜欢的一个比较小众的组合,Mathematica+Java/Scala。 Mathematica的优点在于:本身提供函数式的编程语言,表达能力非常强大,比如Map/Rece是标配,很多时候不需要去做烦人的for循环或下标控制,排版经常可以直接照数学公式原样输入,即直观又不容易写错;代码和输出混排的排版方式使得建模时的演算和推理过程非常流畅,甚至还可以直接生成动画,对于找直观理解非常有帮助(这几点分别被IPython和R偷师了一部分)。Mathematica的缺点在于对金融类的时间序列数据没有很好的内建支持,使得存储和计算都会比较低效,因此需要用内嵌Java的方式来补足,对于数据格式或性能敏感的操作都可以用Java/Scala实现。这个组合在我心目中无出其右,不论是快速建模,还是建模转生产,都远远领先于其他选择。但Mathematica的商用授权很贵,如果公司本身不认可的话很难得到支持,这是最致命的缺陷。另外随着Python系的逐渐成熟,领先优势在逐渐缩小,长远看Python的势头更好一些。

其他答案里也列举了不少其他语言,我自己既做Quant的工作,也做软件开发的工作,这里想从一个软件工程师的角度,说说我的理解。平时工作中会和一些偏Quant背景的人合作,很容易发现建模能力好的人往往在计算机方面基础比较薄弱(因为以前的训练重点不在这里)。他们也可以快速学习掌握一种像C++,Java这样的语言,实现很多必要的功能。但是一方面这些语言陡峭的学习曲线和繁琐的开发步骤会给他们真正要做的工作增加不必要的负担,另一方面一旦涉及到性能敏感的情景,他们对计算机体系结构缺乏理解的缺点就容易暴露,比如说很可能他们没有计算复杂度,内存碎片,cache miss,甚至多线程等概念,导致写出的程序存在相当大的隐患。

即使是计算机功底扎实,如果每天的工作需要在C++,Python,R/Matlab,甚至一众脚本语言之前来回切换,思维负担也会非常重,人的精力是有限的,很难同时兼顾数学建模和底层代码调试这种差距巨大的工作。长期发展下去最可能的结果就是要么远离建模,专心做生产环境开发,要么远离生产环境,专心建模。这种局面显然不论对个人还是团队都是有很大弊端的。

如果深入思考这个问题,相信不难得出结论,对于Quant来说,C++这种相当面向机器的语言肯定不是最佳选择。的确在历史上,它比更面向机器的C已经友好了很多,但是在计算机技术飞速发展的今天,如果还需要Quant大量使用C++做建模类的工作显然是很遗憾的事情。设想一下你拿到一份股票数据,不论你是想分析价格走势,成交量分布,还是波动性,第一件要做的事一定是画出图来看看,有一个直观认识。如果你的工具是C++,肯定有很多时间花在编译,调试,再编译的过程上,好容易能解析文件了,接下来怎么算移动平均?怎么算波动性?全都要自己写代码。再然后怎么画图?这整个工作流简直惨不忍睹,这些问题浪费掉你大部分精力,而他们全部和你真正感兴趣的工作毫无关系。所以如果你是一个数理金融等背景的新人打算开始Quant生涯,在决定是否要投资到这项重量级技术上时需要慎重,即便它目前的市场定价可能仍在峰值。相比之下我认为Python会是更理想的选择,即能很好的完成建模工作,也可以训练一定的编程技巧,使你在必要时也能胜任一些简单的C++工作。

最后同意 @袁浩瀚,不要拘泥于语言,不论学习那一种,对其他的语言还是要抱有开放的心态。另外世界变化很快,你会发现单一的语言分类方式其实是没有意义的,每一门语言在发展过程中都会逐渐吸收其他语言的特性,比如Python本身就既有C/C++/Java那样命令式的特点,也有函数式的特点,像pandas甚至还提供类似SQL的使用方式,在其他语言或系统里也都或多或少包含了不同的特点,可以在学习过程里慢慢体会。

⑦ python量化哪个平台可以回测模拟实盘还不要钱

Python量化投资框架:回测+模拟+实盘
Python量化投资 模拟交易 平台 1. 股票量化投资框架体系 1.1 回测 实盘交易前,必须对量化交易策略进行回测和模拟,以确定策略是否有效,并进行改进和优化。作为一般人而言,你能想到的,一般都有人做过了。回测框架也如此。当前小白看到的主要有如下五个回测框架: Zipline :事件驱动框架,国外很流行。缺陷是不适合国内市场。 PyAlgoTrade : 事件驱动框架,最新更新日期为16年8月17号。支持国内市场,应用python 2.7开发,最大的bug在于不支持3.5的版本,以及不支持强大的pandas。 pybacktest :以处理向量数据的方式进行回测,最新更新日期为2个月前,更新不稳定。 TradingWithPython:基于pybacktest,进行重构。参考资料较少。 ultra-finance:在github的项目两年前就停止更新了,最新的项目在谷歌平台,无奈打不开网址,感兴趣的话,请自行查看吧。 RQAlpha:事件驱动框架,适合A股市场,自带日线数据。是米筐的回测开源框架,相对而言,个人更喜欢这个平台。 2 模拟 模拟交易,同样是实盘交易前的重要一步。以防止类似于当前某券商的事件,半小时之内亏损上亿,对整个股市都产生了恶劣影响。模拟交易,重点考虑的是程序的交易逻辑是否可靠无误,数据传输的各种情况是否都考虑到。 当下,个人看到的,喜欢用的开源平台是雪球模拟交易,其次是wind提供的模拟交易接口。像优矿、米筐和聚宽提供的,由于只能在线上平台测试,不甚自由,并无太多感觉。 雪球模拟交易:在后续实盘交易模块,再进行重点介绍,主要应用的是一个开源的easytrader系列。 Wind模拟交易:若没有机构版的话,可以考虑应用学生免费版。具体模拟交易接口可参看如下链接:http://www.dajiangzhang.com/document 3 实盘 实盘,无疑是我们的终极目标。股票程序化交易,已经被限制。但对于万能的我们而言,总有解决的办法。当下最多的是破解券商网页版的交易接口,或者说应用爬虫爬去操作。对我而言,比较倾向于食灯鬼的easytrader系列的开源平台。对于机构用户而言,由于资金量较大,出于安全性和可靠性的考虑,并不建议应用。 easytrader系列当前主要有三个组成部分: easytrader:提供券商华泰/佣金宝/银河/广发/雪球的基金、股票自动程序化交易,量化交易组件 easyquotation : 实时获取新浪 / Leverfun 的免费股票以及 level2 十档行情 / 集思路的分级基金行情 easyhistory : 用于获取维护股票的历史数据 easyquant : 股票量化框架,支持行情获取以及交易 2. 期货量化投资框架体系 一直待在私募或者券商,做的是股票相关的内容,对期货这块不甚熟悉。就根据自己所了解的,简单总结一下。 2.1 回测 回测,貌似并没有非常流行的开源框架。可能的原因有二:期货相对股票而言,门槛较高,更多是机构交易,开源较少; 去年至今对期货监管控制比较严,至今未放开,只能做些CTA的策略,另许多人兴致泱泱吧。 就个人理解而言,可能wind的是一个相对合适的选择。 2.2 模拟 + 实盘 vn.py是国内最为流行的一个开源平台。起源于国内私募的自主交易系统,2015年初启动时只是单纯的交易API接口的Python封装。随着业内关注度的上升和社区不断的贡献,目前已经一步步成长为一套全面的交易程序开发框架。如官网所说,该框架侧重的是交易模块,回测模块并未支持。 能力有限,如果对相关框架感兴趣的话,就详看相关的链接吧。个人期望的是以RQAlpha为主搭建回测框架,以雪球或wind为主搭建模拟框架,用easy系列进行交易。

⑧ 量化投资中用python主要是负责什么

python作为一门编程语言,简单说它在量化投资主要是进行量化策略模型的编译。

⑨ 通达信什么时候支持python量化交易

1、一个强大的N维数组对象Array;
2、比较成熟的(广播)函数库;
3、用于整合C/C++和Fortran代码的工具包;
4、实用的线性代数、傅里叶变换和随机数生成函数。numpy和稀疏矩阵运算包scipy配合使用更加方便。

⑩ 想用python量化金融,需要掌握python哪些

urllib, urllib2, urlparse, BeautifulSoup, mechanize, cookielib 等等啦这些库的掌握并不难,网络爬虫难的是你要自己设计压力控制算法,还有你的解析算法,还有图的遍历算法等。

阅读全文

与python量化相关的资料

热点内容
xps文件转pdf 浏览:132
怎么样获得命令方块 浏览:897
安卓studio如何改主题 浏览:931
linux自动获取ip命令行 浏览:208
做设计做程序员适合的电脑 浏览:778
网站有源码和没有源码的区别 浏览:680
如何自学开发app 浏览:595
修电梯pdf 浏览:351
政务云是不是提供虚拟服务器 浏览:59
在哪里看每个app用了多长时间 浏览:637
学程序员要英语四级吗 浏览:133
java视频录制 浏览:758
口头指派式命令 浏览:474
php开发工程师面试题 浏览:954
linux内核源码pdf 浏览:66
mc命令方块怎么提取 浏览:367
有关程序员的五大魔咒你中了几个 浏览:204
本地文件如何上传linux服务器 浏览:17
传奇资源网站源码 浏览:377
f26app怎么下载 浏览:120