前言

量化交易是使用计算机技术(本文主要指使用Python)帮助投资者分析大量的数据从而制定投资策略,这是属于金融和计算机的交叉领域。

本文是用于指导利用Python进行量化交易的初学者入门使用,限于本人水平有限,大家轻点喷~

提取数据

前置条件

为了提取股票数据,我们需要用到Quandl 的 API,这个平台拥有大量的经济和金融数据。

首先我们需要安装Python 3和 virtualenv,并通过

virtualenv --python=/usr/bin/python3 <name of env>
复制代码

创建虚拟环境。

然后使用

source <env_name>/bin/activate
复制代码

激活虚拟环境。

再使用pip安装jupyter-notebook:

pip install jupyter-notebook
复制代码

然后再安装pandasquandlnumpy包。

最后运行jupyter-notebook。

提取数据

我们先导入需要的包。

import pandas as pd
import quandl as q
复制代码

这里pandas可以帮助我们进行数据操作和绘图。

之后我们就调用Quandl API。

q.ApiConfig.api_key = "<API key>”
​
msft_data = q.get("EOD/MSFT", start_date="2010-01-01", end_date="2019-01-01")
​
msft_data.head()
复制代码

在这段代码,我们首先设置了需要的api_key。这个需要去官网获取。

然后调用get方法来获取微软从2010年1月1日到2019年1月1日的股票价格。

然后是查看获取的数据集的前5行。

分析数据

我们先了解数据集的数据构成,这个可以通过info方法查看。

如上图所示,我们可以了解到这些数据包含股票的价格信息。

如股票的开盘价和收盘价、调整后的开盘价以及收盘价,这个调整是将股息分配、股票拆分等行为考虑在内,还包括交易量和当日最高和最低价格。

我们还可以通过describe方法分析数据集的最大值、最小值、平均值等数据。

我们还可以对这些数据继续进行加工。

比如再进行一次采样。将时间间隔调整为每月、每季度或每年。

计算财务回报

我们接下来进行财务回报的计算。

我们要使用pct_change()方法。

import numpy as np
​
daily_close = msft_data[['Adj_Close']]
​
daily_return = daily_close.pct_change()
​
daily_return.fillna(0, inplace=True)
​
print(daily_return)
复制代码

我们使用调整的收盘价来计算从开始时间到各个时间的回报。将这个值乘100就得到回报百分比了。

我们也可以来计算时间间隔为月的回报率:

mdata = msft_data.resample('M').apply(lambda x: x[-1])
monthly_return = mdata.pct_change()
monthly_return.fillna(0, inplace=True)
print(monthly_return)
复制代码

部分代码参考至:www.codementor.io/blog/quanti…

谈一谈使用Python入门量化投资相关推荐

  1. python股票量化交易入门到实践_量化资料学习《Python与量化投资从基础到实战》+《量化交易之路用Python做股票量化分析》+《组织与管理研究的实证方法第2版》...

    我们需要利用Python进行数据分析的指南,有大量的关于数据处理分析的应用,重点学习如何高效地利用Python解决投资策略问题,推荐学习<Python与量化投资从基础到实战>等电子资料. ...

  2. 基于python的量化投资(二) ---- 获取量化数据

    进行量化投资最基础的工作,就是获取量化的基础数据.有了基础数据,才能对数据进行加工处理,构建量化策略,进行量化分析,回测和回溯. 基于python进行量化投资的开发,获取数据的方式比较丰富,主要介绍以 ...

  3. 学金融会python_大学生金融小白自学Python做量化投资需要注意哪些?

    大学生金融小白自学python做量化投资需要注意些什么?量化金融其实是一个交叉复合学科,需要掌握数学.计算机.金融等方面的知识.显而易见,对于金融学背景的同学来说,就需要另外学习计算机编程的知识,而计 ...

  4. 从小市值因子策略入手,带你入门量化投资 (附年化收益率77.83%策略)

    随着量化投资在国内的兴起,越来越多的人开始研究量化投资.可其中有不少人在学习代码.研究策略的过程中败下阵来,但量化投资其实也可以很简单. 今天,我们以经典的小市值因子策略为例,为大家演示如何借助掘金量 ...

  5. 量化初步-《python与量化投资从基础到实战》——优矿策略

    python与量化投资从基础到实战--策略初步 量化数据获取 优矿介绍 使用方式 日行情数据 因子数据 数据处理 数据合并 数据透视 数据过滤 数据获取与整理 数据转化: 标准化 哑变量 通联数据回测 ...

  6. 新手用Python做量化投资需要注意哪些?

    新手自学python做量化投资需要注意些什么?量化金融其实是一个交叉复合学科,需要掌握数学.计算机.金融等方面的知识.显而易见,对于金融学背景的同学来说,就需要另外学习计算机编程的知识,而计算机背景的 ...

  7. 大学生金融小白自学Python做量化投资需要注意哪些?

    大学生金融小白自学python做量化投资需要注意些什么?量化金融其实是一个交叉复合学科,需要掌握数学.计算机.金融等方面的知识.显而易见,对于金融学背景的同学来说,就需要另外学习计算机编程的知识,而计 ...

  8. python量化投资培训清华大学深研院_GitHub - CatsJuice/quantitative-investment-learning: 使用Python进行量化投资的学习报告...

    quantitative-investment-learning 使用Python进行量化投资的学习报告 Python量化投资学习报告 CatsJuice 编辑于 2019-4-26 上一次更新: 2 ...

  9. 基于python的量化投资基础(Chapter.0)——概述

    量化交易概述 量化交易就是通过数理统计模型方式及计算机程序化发出买卖指令去实现投资理念.实现投资策略的过程,以获取稳定收益为目的的交易方式. 广义的量化投资=基于现代科学方法的理论体系+研究方式+工程 ...

最新文章

  1. 影响系统性能的几个原因
  2. 京东零售CEO徐雷升任京东集团总裁,刘强东:将把更多时间投入乡村振兴等事业中...
  3. 计算机信息检索文献综述论文,信息检索论文
  4. pku 3252 Round Numbers 组合数学 找规律+排列组合
  5. 数据结构设计_合并多种疾病,如何设计数据结构?
  6. amqp协议 面试_分布式消息中间件-RabbitMQ面试题(必问)
  7. tar.xz压缩工具使用(转)
  8. 设计模式----装饰模式(C++实现)
  9. QBackingStore::flush() called with non-exposed window, behavior is undefined
  10. win7系统不能加入工作组计算机,技术员教你解决win7系统工作组计算机无法访问的修复办法...
  11. Hive实现oracle的Minus函数
  12. C# ASP.NET WebApi入门
  13. nx531j android版本,努比亚Z11(NX531J)安卓6.0 魅族Flyme6.7.12.29R刷机包 紫火版 20180108更新...
  14. 学习云计算有哪些优势?附学习路线图
  15. SpringCloud实现微服务商城架构开源项目
  16. 电脑重装系统蓝屏详细解决方法分享
  17. etsy开店流程遇到的问题整理
  18. 【Python】excel格式转换操作 -操作Excel、Word、CSV(4)(保姆级图文注释+测试代码+api例程)
  19. 商城限时秒杀抢购系统
  20. 用matlab仿真mmc环流抑制器,一种基于准PR控制原理的MMC阀组环流抑制方法

热门文章

  1. Python使用matplotlib函数subplot可视化多个不同颜色的折线图、自定义数据点的形状、自定义折线图的颜色
  2. R语言data.table进行滚动数据连接,滚动联接通常用于分析涉及时间的数据实战(动画说明滚动数据连接的形式):rolling joins data.table in R
  3. R语言使用pROC包在同一图中绘制两条ROC曲线并通过假设检验检验ROC曲线的AUC或者偏AUC的差异(输出p值)
  4. R语言gc函数垃圾回收实战
  5. R语言F分布函数F Distribution(df, pf, qf rf )实战
  6. plotly可视化绘制多子图(subplots)共享坐标轴
  7. python使用tqdm实现程序运行进度条
  8. pandas读写结构化数据(read_csv,read_table, read_excel, read_html, read_sql)
  9. 从RBM(受限玻尔兹曼机)开始、到深度信念网络(DBN)再到自动编码器(AE)
  10. Oracle表空间文件损坏后的排查及解决