主页 > imtoken.im > 使用 Python 实施您的量化交易策略

使用 Python 实施您的量化交易策略

imtoken.im 2023-02-06 07:18:21

在 Python 的学习者中,有相当一部分是针对爬虫的。因为爬行动物可以帮助你解决工作和生活中的很多问题,挽救你的生命。不过,Python还有一个神秘有趣的应用领域,那就是量化交易。

量化交易就是用数学模型代替人的主观判断来制定交易策略。策略的计算和验证通常是借助计算机程序进行的,最终程序通常用于根据策略设定的规则自动进行交易。

Python因其开发便捷、工具库丰富、对科学计算的强大支持而被广泛应用于量化领域。市面上也有很多支持 Python 语言的量化平台。通过这些平台,您可以轻松实现自己的交易策略,进行验证,甚至连接交易系统(由于政策原因,现在很多交易界面都被暂停了)。

谈到交易策略,我是门外汉(虽然我也有证券从业资格)。所以本文只是介绍了几个Python量化平台和一些最基本的使用方法。更多功能和更强大的策略还有待你去探索。

中国几个知名平台有:

在右上角的下拉框中选择“策略”,它会自动为您填写策略回测的基本结构代码。

前几个变量是回测的基本配置。Initialize 可以做一些初始化工作。handle_data 是回测代码的核心,用于实现每个交易日(或每分钟)的交易指令。

用python做量化交易要学多久

具体的变量含义这里不做详细解释,文档中有解释。仅从命名和评论中可以看出,设置了回测时间、存量池、资金、交易频率等。

文档给出了一个最简单的每日策略代码:

def handle_data(account):
    for stock in account.universe:
        order(stock,100)
复制代码

策略是在每个交易日买入股票池中的每一种股票。

account.universe 是开头设置的 Universe 值。在这里用python做量化交易要学多久,它遍历股票池中的股票。

order为买卖订单,函数原型为:order(symbol, amount)

用python做量化交易要学多久

参数symbol为股票代码,amount为买入卖出金额。正表示买入,负表示卖出。在这里购买 100 股,或 1 手。

点击“运行”,或者Ctrl+Enter,可以在页面上看到策略的执行情况。

让我们尝试稍微改变一下并编写我们自己的策略。

我想到了一个这样的策略:

如果您不拥有的股票在 2 个交易日内上涨超过 10%,请用您当前资本的 5% 购买。反之,如果累计跌幅超过 10%,则全部停止卖出。

让我们在下面实现它,看看下一个回测是如何工作的。

用python做量化交易要学多久

时间定在去年(2015),启动资金10万元。

universe = set_universe('A')
复制代码

股票池全部为A股股票。

account.get_attribute_history('closePrice', 3)
复制代码

获取股票池中所有股票前 3 天的收盘价(closePrice)。

hist[s][2] - hist[s][0]
复制代码

用python做量化交易要学多久

获取 1 天前和 3 天前的收盘价之间的差值。

account.valid_secpos
复制代码

是账户当前持有的证券信息。

如果收盘价之间的 2 天差价满足买入条件且未被持有,则执行:

order_pct(s, 0.05)
复制代码

order_pct 表示以账户当前总价值的百分比购买股票。

用python做量化交易要学多久

如果满足卖出条件,执行:

order_to(s, 0)
复制代码

OK,一个过于简单的攻略就完成了。运行:

实际上,这样一个简单的策略在峰值时的回报率超过了 90%。即使经历了年中的股市崩盘和下半年的震荡用python做量化交易要学多久,到年底仍有30%以上的回报率,应该会超过大部分散户。去年的结果。如果按照这个策略交易,啧啧,想想都有些激动。(嘿,起床!)

然而,现实是残酷的,真实的市场会分分钟教你如何做人。

量化投资和程序化交易是一个很有前途的行业,但在你想进入它甚至用它赚钱之前,请先了解它。

如果你有兴趣,看看这个问题: