Quantopian 入门系列一

本文介绍了Quantopian交易平台的基本使用,包括研究环境、数据探索、流水线、策略分析和交易算法。通过示例展示了如何获取和分析股票数据,如移动平均线计算、数据流水线的构建以及如何制定交易策略。此外,文章还讨论了如何在回测中应用交易策略并进行组合优化,以实现有效的风险管理。
摘要由CSDN通过智能技术生成

本文含 7926 字,52 图表截屏

建议阅读 40 分钟

在公众号对话框回复 QTP1 下载 notebook

0

引言

本系列将 Quantopian 官网上的四节 Tutorials 好好梳理一下。

本帖讲解第一节 Basic Quantopian Lessons,旨在说明如何使用 Quantopian 的研究环境和回测环境。目录如下:

  1. 简介

  2. 数据探索

  3. 流水线

  4. 策略分析

  5. 交易算法

  6. 数据流水线

  7. 组合优化

  8. 回测分析

1

简介

交易算法(trading algorithm)是用计算机来定义一组买卖资产规则的程序。大多的交易算法都是基于历史数据和数学/统计模型来做决策的。

在 Quantopian 研究环境中有完整的美股数据可供我们使用。在 Quantopian 主页,记注点击下图的 Research --> Notebooks 就可以创建一个 Jupyter Notebook 环境来运行 Python 代码

让我们看一个简单的例子,获取苹果(AAPL)股票的日终价,并计算出其 20 天和 50 天的移动平均值(Moving Average, MA)。代码和解释如下:

画图如下,注意,MA50 比 MA20 短,MA20 比 AAPL 短, 原因很简单,求 N 天移动均值的第一个点需要 AAPL 中前 N 个数据。

打印出 MA50, MA20 和 AAPL 的形状。

aapl_close.shape, aapl_sma20.shape, aapl_sma50.shape
((756,), (756,), (756,))

三者包含一样多的数据?不合理,再看看三者含有的实际元素是什么样的。

df.head(5).append(df.tail(5))

原来 MA20 和 MA50 前 19 个和前 49 个都是 NaN,NaN 值在图中是提下不出来的,这就解释了上图三条线长短不一的原因。

总结一下:

要点

用 quantopian.research 里面的 symbols 来获取资产代号。

用 quantopian.research 里面的 prices 来获取收盘价,需要设置代号、起始日和终止日,输出是一个数据帧。

数据帧可以直接用 df.plot() 的格式作图,和 matplotlib 里面的 plot(df) 效果类似。

2

数据探索

金融数据主要可分为四类,见下表总结。

在 Quantopian 中,我们可以获取从 2002 年开始每一个交易日的 8000+ 美股的价格和收益率,以数据帧的形式返回。

下面代码获取了苹果股票从 2018-10-31 到 2019-10-31 之间的收益率,代码和解释如下:

返回结果 aapl_returns 是一个系列(Series)即只有一个列标签的数据帧,行标签是日期+时间


除了最基本的价格和收益率数据之外,Quantopian 里还可以提供公司基本面(corporate fundamentals)、股票情绪(stock sentiment)和宏观经济指标(macroecnomic indicator)等数据。在 Quantipian 里有 50+ 个这方面的数据集,列表如下:

我们用 PyschSignal Trader Mood(上图倒数第二个)来说明如何获取股票情绪数据。PyschSignal 是一个提供交易员情绪数据的公司,它主要用自然语言处理(NLP)来分析社交媒体(主要是 Twitter 和 StockTwits)上的消息,并从中为每个证券打分。从 2016 年起,这些数据就已经是 Point-In-Time (PIT) 了。

关于 PyschSignal 详情可参考以下链接:

https://www.quantopian.com/docs/data-reference/psychsignal

在下例中,我们只获取消息量(message volume)和情绪得分(sentiment score)这两类数据。为了能使获取过程更有效,Quantopian 提供了流水线 API,要使用它需要三件套:

    评论
    添加红包

    请填写红包祝福语或标题

    红包个数最小为10个

    红包金额最低5元

    当前余额3.43前往充值 >
    需支付:10.00
    成就一亿技术人!
    领取后你会自动成为博主和红包主的粉丝 规则
    hope_wisdom
    发出的红包
    实付
    使用余额支付
    点击重新获取
    扫码支付
    钱包余额 0

    抵扣说明:

    1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
    2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

    余额充值
    >