本文目录一览:
怎么学习python量化交易?
下面教你八步写个量化交易策略——单股票均线策略
1 确定策略内容与框架
若昨日收盘价高出过去20日平均价今天开盘买入股票
若昨日收盘价低于过去20日平均价今天开盘卖出股票
只操作一只股票,很简单对吧,但怎么用代码说给计算机听呢?
想想人是怎么操作的,应该包括这样两个部分
既然是单股票策略,事先决定好交易哪一个股票。
每天看看昨日收盘价是否高出过去20日平均价,是的话开盘就买入,不是开盘就卖出。每天都这么做,循环下去。
对应代码也是这两个部分
def initialize(context):
用来写最开始要做什么的地方
def handle_data(context,data):
用来写每天循环要做什么的地方
2 初始化
我们要写设置要交易的股票的代码,比如 兔宝宝(002043)
def initialize(context):
g.security = '002043.XSHE'# 存入兔宝宝的股票代码
3 获取收盘价与均价
首先,获取昨日股票的收盘价
# 用法:变量 = data[股票代码].close
last_price = data[g.security].close# 取得最近日收盘价,命名为last_price
然后,获取近二十日股票收盘价的平均价
# 用法:变量 = data[股票代码].mavg(天数,‘close’)
# 获取近二十日股票收盘价的平均价,命名为average_price
average_price = data[g.security].mavg(20, 'close')
4 判断是否买卖
数据都获取完,该做买卖判断了
# 如果昨日收盘价高出二十日平均价, 则买入,否则卖出
if last_price average_price:
买入
elif last_price average_price:
卖出
问题来了,现在该写买卖下单了,但是拿多少钱去买我们还没有告诉计算机,所以每天还要获取账户里现金量。
# 用法:变量 = context.portfolio.cash
cash = context.portfolio.cash# 取得当前的现金量,命名为cash
5 买入卖出
# 用法:order_value(要买入股票股票的股票代码,要多少钱去买)
order_value(g.security, cash)# 用当前所有资金买入股票
# 用法:order_target(要买卖股票的股票代码,目标持仓金额)
order_target(g.security, 0)# 将股票仓位调整到0,即全卖出
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,设置回测频率,然后点击运行回测。
7 建立模拟交易,使策略和行情实时连接自动运行
策略写好,回测完成,点击回测结果界面(如上图)右上部红色模拟交易按钮,新建模拟交易如下图。 写好交易名称,设置初始资金,数据频率,此处是每天,设置好后点提交。
8 开启微信通知,接收交易信号
点击聚宽导航栏我的交易,可以看到创建的模拟交易,如下图。 点击右边的微信通知开关,将OFF调到ON,按照指示扫描二维码,绑定微信,就能微信接收交易信号了。
用python做量化交易要学多久?
5个月。
python凭借其突出的语言优势与特性,已经融入到各行各业的每个领域。一般来说,python培训需要脱产学习5个月左右,这样的时长才能够让学员既掌握工作所需的技能,还能够积累一定的项目经验。当然如果你想要在人工智能的路上越走越远,则需要不断的积累和学习。
python培训的5个月时间里,有相当大一部分时间是在实战做项目,第一阶段是为期一个月学习python的核心编程,主要是python的语言基础和高级应用,帮助学员获得初步软件工程知识并树立模块化编程思想。学完这一阶段的内容,学员已经能够胜任python初级开发工程师的职位。
扩展资料:
Python开发基础课程内容包括:计算机硬件、操作系统原理、安装linux操作系统、linux操作系统维护常用命令、Python语言介绍、环境安装、基本语法、基本数据类型、二进制运算、流程控制、字符编码、文件处理、数据类型、用户认证、三级菜单程序、购物车程序开发、函数、内置方法、递归、迭代器、装饰器、内置方法、员工信息表开发、模块的跨目录导入、常用标准库学习,b加密\re正则\logging日志模块等,软件开发规范学习,计算器程序、ATM程序开发等。
参考资料来源:百度百科-Python量化交易从入门到实战
python量化交易半个月可以学会吗?
python量化交易半个月可以学会的。
如果已经有了Python基础,半个月可以入门的,如果没有Python基础,就先学Python,学一两个月有了基础后,再结合量化交易的模型,边学Python语言,边学以Python实现量化模型,上手也会很快的。
大家可能觉得搞量化的人就是整天和大量数据打交道,用一行行代码写出复杂的模型,然后没完没了地Run,在回测和优化中挣扎,沉浸在数学和统计海洋里的一群人。
实际上,这只是表面现象。虽然每个搞量化的人必须会写代码,也必须具备扎实的数学功底,在开发策略的过程中,的确需要分析大量数据,不断做回测和优化,但是,这一切的背后是强大的金融思维和对金融市场的深刻理解在支撑的。
换句话说,如果你没有经济、金融的完整知识体系和工作经验,或者没有正确的、科学的思维方式,无论数学多么地好,也很可能在做无用功;即便编程多么在行,也只能沦为码农一枚(没有歧视程序员的意思哦)。
反过来说,如果你具备科学的思维和逻辑,并发现了经济、金融的某些规律,想做Quant就不难了。接下来,你只需花点时间学习编程工具,好好利用数据和代码为你实现自己的想法。