量化交易入门

程序员小白如何入门量化交易? 整理了量化交易学习的相关资料,包括学习平台、博客、课程、书籍等。 阅读详情

 

          提到量化交易如何入门,很多人都是列了长长的书单,书自然都是好书,但对于想入门的人来说未免太繁杂,兴趣一下就被打压了。其实一个想入门的门外人,最想要的其实是一个简单快速的入门方法,不想看了那么多书,却还写不了一个量化策略。

         这里,就为新手准备了这篇文章--十行代码带你量化交易入门

         学习内容:

         学会写一个简单的单股票均线策略

         理解策略的基本框架

        学会建立连接实盘的模拟交易,并使其自动发送交易的信号到微信

        首先,进入JoinQuant,点击导航栏我的策略,新建策略,进入策略编辑画面,如图。左侧是编写策略代码,右侧是策略运行结果。我们就在左侧写策略代码。

下面教你用10行代码写个量化交易策略——单股票均线策略

1 确定策略内容与框架

若昨日收盘价高出过去20日平均价今天开盘买入股票 
若昨日收盘价低于过去20日平均价今天开盘卖出股票

只操作一只股票,很简单对吧,但怎么用代码说给计算机听呢?

想想人是怎么操作的,应该包括这样两个部分

既然是单股票策略,事先决定好交易哪一个股票。每天看看昨日收盘价是否高出过去20日平均价,是的话开盘就买入,不是开盘就卖出。每天都这么做,循环下去。

对应代码也是这两个部分

def initialize(context): 

     用来写最开始要做什么的地方 

def handle_data(context,data): 

     用来写每天循环要做什么的地方

答疑与延伸:

def后面的空格和最后的冒号不能少!符号都要用英文输入法!

为什么这么写?就这么规定的,先别管了。handle_data 按天循环时,如此处,其中的操作都是在9:30执行。

毫无编程基础?,丝毫不懂变量,函数,if else的,还是先到量化课堂的编程部分学习下python语言吧。

几乎所有策略都基于这个基本的策略框架:先初始化,然后循环操作
1 初始化,即最开始要做的事情,如选定股票,设置变量、参数等等 
2 周期循环:即每个周期要做的事情,如计算指标,买入卖出等,周期可能是分钟,天等,本文策略的周期是一天。当你要做一些盘中短线操作的时候,周期就要调成分钟,先别着急会遇到的。

2 初始化

我们要写设置要交易的股票的代码,比如 兔宝宝(002043)

def initialize(context):

    g.security = '002043.XSHE'# 存入兔宝宝的股票代码

答疑与延伸:

“g.”是什么?全局变量前都要写”g.”,全局变量就是全局都能用的变量,一般变量只能在该函数下使用。如security不加”g.”,只能在第一部分即initialize里用,不能在第二部分handle_data里用。不懂什么是变量的,到量化课堂的python编程里学习下基础内容,或者问问度娘。

“XSHE”是什么? 股票代码使用时要加后缀,深交所股票代码后缀为 “.XSHE “,上交所股票代码后缀为 “.XSHG”。

代码中“#”是什么?”#“后的内容都是注释,是为代码做说明的,不会被计算机当做代码处理。

3 获取收盘价与均价

首先,获取昨日股票的收盘价

# 用法:变量 = data[股票代码].close 

last_price = data[g.security].close# 取得最近日收盘价,命名为last_price

然后,获取近二十日股票收盘价的平均价

# 用法:变量 = data[股票代码].mavg(天数,‘close’) 

# 获取近二十日股票收盘价的平均价,命名为average_price 

average_price = data[g.security].mavg(20, 'close')

答疑与延伸:

data是什么?data[股票代码]后面除了平均价.mavg还能接什么?

4 判断是否买卖

数据都获取完,该做买卖判断了

# 如果昨日收盘价高出二十日平均价, 则买入,否则卖出 if last_price > average_price: 买入 elif last_price < average_price: 卖出

问题来了,现在该写买卖下单了,但是拿多少钱去买我们还没有告诉计算机,所以每天还要获取账户里现金量。

# 用法:变量 = context.portfolio.cash 

cash = context.portfolio.cash# 取得当前的现金量,命名为cash

答疑与延伸:

context.portfolio 是什么?

这句看着有点复杂,先记住吧。然后我们看看买入卖出怎么写。

5 买入卖出

# 用法:order_value(要买入股票股票的股票代码,要多少钱去买) 

order_value(g.security, cash)# 用当前所有资金买入股票 

# 用法:order_target(要买卖股票的股票代码,目标持仓金额) 

order_target(g.security, 0)# 将股票仓位调整到0,即全卖出

答疑与延伸:

为什么没有指定交易价格?此策略是按天回测进行的且使用的较为简单的市价单下单方法,交易价格为开盘价(加上滑点)

无法交易的情况?涨跌停,停牌,T+1制度等无法交易的情况,系统会自动使下单不成交并在日志中发出警告。

滑点是什么?下单方法有哪些?

6 策略代码写完,进行回测

把买入卖出的代码写好,策略就写完了,如下

def initialize(context):#初始化 

    g.security = '002043.XSHE'# 股票名:兔宝宝 

def handle_data(context, data):#每日循环 

    last_price = data[g.security].close# 取得最近日收盘价 # 取得过去二十天的平均价格                 average_price = data[g.security].mavg(20, 'close') 

    cash = context.portfolio.cash# 取得当前的现金 

 # 如果昨日收盘价高出二十日平均价, 则买入,否则卖出。 

    if last_price > average_price: 

         order_value(g.security, cash)# 用当前所有资金买入股票 

    elif last_price < average_price: 

         order_target(g.security, 0)# 将股票仓位调整到0,即全卖出

现在,在策略回测界面右上部,设置回测时间从20140101到20160601,设置初始资金100000,设置回测频率,然后点击运行回测。

答疑与延伸:

什么是回测?回测是量化交易策略研究中的关键,是指给定一段时间的历史数据(如此处是20140101到20160601的每日数据),计算机按照所编写的策略进行模拟仿真交易,以测试策略效果好坏。

如果你代码没有问题,就会顺利的进行回测,回测结果如下图: 
至此,你就完成了一个简单策略的回测了。

答疑与延伸:

如何根据回测结果评价策略好坏?很初级地讲,有三: 
盈利能力:策略收益与年化收益高,则说明盈利能力强。盈利能力不行说啥都没用。

盈利稳定性:最大回撤要低。最大回撤是指最大亏损幅度,50%则意味着历史上看最大亏损率为50%。

回测可靠性:交易次数要多。交易次数越多意味着经历了越多次的检验,回测的结果也越可靠。

更多说明见:风险指标说明这个策略回撤大,交易次数少,只交易一只股票,并不靠谱。但是结构简单适合新手入门理解整个流程。

7 建立模拟交易,使策略和行情实时连接自动运行

策略写好,回测完成,点击回测结果界面(如上图)右上部红色模拟交易按钮,新建模拟交易如下图。写好交易名称,设置初始资金,数据频率,此处是每天,设置好后点提交。

答疑与延伸:

模拟交易创建成功后,需要等待A股至少开盘一次,才能查看模拟交易结果。

8 开启微信通知,接收交易信号

点击聚宽导航栏我的交易,可以看到创建的模拟交易,如下图。点击右边的微信通知开关,将OFF调到ON,按照指示扫描二维码,绑定微信,就能微信接收交易信号了。
当策略买卖操作,微信会收到信号提醒类似下图。

 

 

民锋国际期货量化交易策略源代码大全 投资者在市场交易中面临着系统性风险(即贝塔或Beta、β风险)和非系统性风险(即阿尔法或Alpha、α风险),通过对系统性风险进行度量并将其分离,从而获取超额绝对收益(即阿尔法收益)的策略组合,即为阿尔法策略。 阅读详情

相关推荐

chatgpt赋能python:Python量化策略代码详解

量化策略是指通过一系列数学模型和算法,对市场的历史数据进行分析和计算,预测未来的行情走向,并基于此制定投资计划和决策。量化策略代码则是指将这些策略和算法用Python编写的程序代码。本文由chatgpt生成,文章没有在chatgpt生成的基础上进行任何的修改。以上只是chatgpt能力的冰山一角。作为通用的Aigc大模型,只是展现它原本的实力。对于颠覆工作方式的ChatGPT,应该选择拥抱而不是抗拒,未来属于“会用”AI的人。🧡AI职场汇报智能办公文案写作效率提升教程 🧡专注于AI+职场+办公方向。

m0_56069948的博客 2678

Python量化交易策略--双均线策略及代码

python量化交易策略--双均线策略

詹sir的博客 1万+

量化交易——RSI策略(vectorbt实现)

本文为通过vectorbt(以下简称vbt)实现量化交易系列第一篇文章,通过使用vbt实现RSI策略从而熟悉其代码框架。

Little_Yu的博客 3105

十行代码带你量化交易入门

十行代码带你量化交易入门 查看原图 提到量化交易如何入门,很多人都是列了长长的书单,书自然都是好书,但对于想入门的人来说未免太繁杂,兴趣一下就被打压了。其实一个想入门的门外人,最想要的其实是一个简单快速的入门方法,不想看了那么多书,却还写不了一个量化策略。 这里,就为新手准备了这篇文章--十行代码带你量化交易入门 学习内容: 学会写一个简单的单股票均线策略 理解策略的基本框架

倦鸟归时 1万+

小白快速入门量化交易的自学路径

量化入门,早成大神!

iamquantman的博客 8028

python量化交易入门教程_搞金融的同学三小时快速入门python从零入门量化交易系列...

【本文比较长,有4000多字和大量配图,并且需要实际操作,建议在电脑端打开】前面,我们讲了为什么要做量化交易,什么是量化交易,以及量化交易的解决方案。作为一个屌丝,这里我们选择开源(Bu Yao QIan)的解决方案:VN.PY来开始我们的量化交易旅程。然而要想使用VN.PY你得懂一点Python,不用太多,一点就好。在之前和很多搞金融的同学交流的时候,很多人都是因为觉得要花上几个月学编程,所以打...

weixin_39928106的博客 1万+

经典的股票/期货量化交易策略,拿来即用的Python策略源码

声明:本文策略源码均来自掘金量化示例策略库,仅供参考! 一、股票策略 1.多因子选股 # coding=utf-8 from __future__ import print_function, absolute_import, unicode_literals import numpy as np from gm.api import * from pandas import ...

小壁虎的春天 9699

Python量化交易入门

Python量化交易知识归纳

曲折旅程,艰难人生 6507

量化交易入门书籍推荐

转 量化交易入门书籍推荐 第一部分:预备知识 【1】《投资学》   作者:博迪,凯恩,马库斯 既然是搞量化,算半瓶水搞科学的,就不应该本能的排斥学院的东西。这本书对于投资交易的入门非常系统了,有了对市场的基本认识,了解前人在量化工作上的一些重要发展,才有可能在正确的基础上建立自己的想法和直觉。不过粗略看看也就可以了,毕竟我们这里聊的是量化交易入门,而不是金融专业如何毕业,下面...

rede 3540

【量化】量化交易入门系列5:量化交易学习书籍推荐(一)

作者:悠悠做神仙 来源: 恒生LIGHT云社区 ...

weixin_44433834的博客 4034

量化交易入门——从零开始搭建自己的量化交易系统

一般的量化交易系统包含如下的功能模块参考数据收集模块数据是量化交易的基础,因此数据收集模块是整个系统的核心之一。它负责从各种数据源收集市场数据,如股票、期货、外汇等。这些数据可能包括历史价格、成交量、财务信息等。数据的质量和准确性对整个系统的表现有着至关重要的影响。数据清洗模块由于原始数据可能存在各种问题,如缺失值、异常值、重复数据等,因此需要进行数据清洗。这个模块负责对收集到的数据进行预处理,以确保数据的准确性和完整性。它通常包括数据筛选、异常值处理、缺失值填充等功能。策略回测模块。

xiao4816的博客 5337

量化交易入门书推

转 量化交易入门书籍推荐 第一部分:预备知识 【1】《投资学》   作者:博迪,凯恩,马库斯 既然是搞量化,算半瓶水搞科学的,就不应该本能的排斥学院的东西。这本书对于投资交易的入门非常系统了,有了对市场的基本认识,了解前人在量化工作上的一些重要发展,才有可能在正确的基础上建立自己的想法和直觉。不过粗略看看也就可以了,毕竟我们这里聊的是量化交易入门,而不是金融专业如何毕业,下面...

塞尔达的传说 1423

【量化】量化交易入门系列2:经典的量化交易策略(上)

作者:悠悠做神仙 来源: 恒生LIGHT云社区 ...

weixin_44433834的博客 8463

量化交易从入门到实战课程推荐

📈 量化交易:策略编写及系统搭建 - 该课程将重点介绍量化交易策略的编写和量化交易系统的搭建。📈 Python3.7量化金融 - 本课程将深入探讨如何利用Python进行量化金融分析和交易,包括数据处理、策略开发和回测等方面的内容。🚀 Python编写量化策略 - 通过实战案例学习如何使用Python编写量化交易策略,包括技术指标的计算、策略逻辑的设计和回测等内容。📈 Python量化交易策略与系统搭建 - 本课程将教授如何利用Python构建量化交易策略和交易系统,帮助学员实现自动化交易。

m0_67537062的博客 2863

量化交易入门——多因子系列

一、量化交易基础与框架 https://www.joinquant.com/view/community/detail/3ca1564dd4831740cc4d0b5a3c01a957 (初识量化交易) 基本的检验策略方法有回测和模拟交易两种方法。 回测是让计算机能根据一段时间的“历史数据”模拟执行该策略,根据结果评价并改进策略。 模拟交易是让计算机能根据“实际行情”模拟执行该策略一段时间,根据结果评价并改进策略。 实盘交易就是让计算机能自动根据实际行情,用真金白银自动执行策略,进行下单交易。 https:

Nichkhun的博客 6736

量化交易零基础入门教程

特点 从零开始教编程。靠谱的量化交易学习资源稀少,且具有不讲编程、代码较难、过多等不适合新手等问题,本教程中则会从零开始教编程,解决量化入门过难过编程门槛这一问题。 量化与编程相结合。本教程不仅会教编程,而且会尽量结合量化情景,减少“我要做量化交易为什么要看这些用来培训程序员的东西”的愤懑。 简易精炼,快速入门。尽量只讲最核心最常用的知识,助你快速摆脱想学习量化却处处陌生不知所措的茫然的新手阶段。 读前说明 文后会有自测与自学,包括一些额外的延伸自学内容以及稍有难度的自测题目。 最最最基础的股票.

JanLEE 2886

量化交易全面入门指南(2025最新版)

本文代码已在Python 3.10 + Backtrader 1.9.76环境测试通过,实盘前建议在券商模拟盘(如PTrade仿真环境)运行验证。新手入门建议从经典策略(如双均线策略)切入,逐步掌握全流程技术栈。• JoinQuant《零基础入门量化交易》(含实战项目)• 《量化投资:以Python为工具》(电子工业出版社)• 《Python量化交易实战》(机械工业出版社)• 应对方案:启用备用策略(如波动率突破策略)(2周):掌握金融数据清洗与特征工程。(4周):开发经典策略与参数优化。

夜夜夜夜 1万+

知识图谱本体建模工具Protege使用教程

1.下载 先去官网下载:protégé 直接下最新版,点击会有注册页面,只填必填项的name和project description即可。 下载后解压即可使用。 2、安装可视化工具Graphviz 去官网:Download | Graphviz下载。下一个最新版的zip就行。 我解压在了Protege文件夹下,然后在 Preference下指定目录。 指定一下你解压完的Graphviz下的dot.exe,确定。 PS:如果这样报错就尝试在环境变量的系统变量的...

子麒的博客 2万+

量化交易学习记录——(一)全局了解|入门

本人是计算机的,完全的金融小白,所以这里整理的比较基础。 1. 找专业的网站/论坛 首先要了解哪里是专业人士聚集的地方,论坛和网站以及github整理如下: github项目:https://github.com/quantopian (qunatopian是全球最大量化网站) 这里的pyFolio,zipline和alphalens,是全球最大量化网站quantopian的量化三套件(http://www.quantopian.com),其中: + zipline,量化回测分析 + pyFo

啷个哩个啷 6439

深入解析Mifare Classic Crypto1认证流程与密钥交换机制

本文深入解析Mifare Classic Crypto1认证流程与密钥交换机制,详细介绍了Crypto1加密算法的工作原理、认证初始化阶段、随机数交换与密钥流生成过程,以及双向验证步骤。文章还分析了Mifare Classic的安全漏洞,包括随机数生成缺陷和密钥流恢复攻击,并提供了Proxmark3实战演示和防护建议。

c6d7e8f9g的博客 898

CHNS数据库下载与使用指南:从申请到导入的全流程解析

面板数据是经济学与公共卫生实证研究的重要支撑。中国健康与营养调查(CHNS)自1989年持续追踪中国居民的家庭与个人健康、营养及经济行为,为研究者提供了跨度近三十年的纵向微观数据。理解CHNS的数据组织原理与申请机制,是高效利用该数据的前提。该数据广泛适用于健康经济学、膳食营养分析及公共政策评估等场景。围绕CHNS的下载流程,完整梳理了注册申请、数据文件解析以及Stata、R、Python三种工具的读取方法,并针对邮箱验证、文件损坏、ID匹配等常见问题提供排查建议,帮助研究者快速建立数据处理基础。

weixin_33624741的博客 285
上一篇: APP社交类项目(类微信)设计之十后台管理模块架构
下一篇: APP社交类项目(类微信)运营之一线上推广
三翔馆主
博客等级 码龄19年 125粉丝 32原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值