写点什么

谈一谈使用 Python 入门量化投资

用户头像
Regan Yue
关注
发布于: 1 小时前

谈一谈使用 Python 入门量化投资

0x00 前言

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


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

0x01 提取数据

前置条件

为了提取股票数据,我们需要用到 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 pdimport 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 行。



0x02 分析数据

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



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


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


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



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


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




0x04 计算财务回报

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


我们要使用 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)
复制代码



部分代码参考至:https://www.codementor.io/blog/quantitative-trading-6i4dw8wj4z

发布于: 1 小时前阅读数: 5
用户头像

Regan Yue

关注

还未添加个人签名 2020.08.12 加入

对Go、Python、网络安全、区块链感兴趣. · 华为云云享专家 · 掘金资讯创作者

评论

发布
暂无评论
谈一谈使用Python入门量化投资