Python全系列 教程
3567个小节阅读:5929.6k
目录
鸿蒙应用开发
C语言快速入门
JAVA全系列 教程
面向对象的程序设计语言
Python全系列 教程
Python3.x版本,未来主流的版本
人工智能 教程
顺势而为,AI创新未来
大厂算法 教程
算法,程序员自我提升必经之路
C++ 教程
一门通用计算机编程语言
微服务 教程
目前业界流行的框架组合
web前端全系列 教程
通向WEB技术世界的钥匙
大数据全系列 教程
站在云端操控万千数据
AIGC全能工具班
A A
White Night
MA指标是英文(Moving Average)的简写,叫移动平均线指标。被用来衡量了解股价的
总体运行趋势。移动平均线(MA)具有趋势的特性,比较平稳,不像日K线会不停起落地
震荡。越长期的移动平均线,越能表现稳定的特性。不轻易向上向下,必须等股价趋势的真
正明朗。
移动平均线存在一定的滞后效应,经常股价刚开始回落时,移动平均线却还是向上的,
等股价跌落显著时,移动平均线才会走下坡。为了弥补这个缺陷,可以设置多条不同计算天
数的移动平均线,从不同周期了解股价的总体运行趋势。
利用MA均线指标来编写一个量化交易策略,实现当价格高于5日均线平均价格10%时买
入,当价格低于5日平均价格90%时卖出。
注意
仓位是指投资人实际投资和实有投资资金的比例。列举个例子:比如你有10万用于投资,现用了4万元买基金或股票,你的仓位是40%。如你全买了基金或股票,你就满仓了。如你全部卖出基金、股票,你就空仓了。
ximport jqdata
from jqlib.technical_analysis import *
# 初始化函数,设定要操作的股票、基准等
def initialize(context):
# 定义一个全局变量,保存要操作的股票
# '000002.XSHE'(股票:万科A)
g.security = '000002.XSHE'
# 设定沪深300作为基准
set_benchmark('000300.XSHG')
# 开启动态复权模式(真实价格)
set_option('use_real_price',True)
def handle_data(context, data):
security = g.security
# 获取股票的收盘价
close_data = attribute_history(security, 5, '1d', ['close'])
# 取得过去五天的平均价格
MA5 = close_data['close'].mean()
# 取得上一时间点价格
current_price = close_data['close'][-1]
# 取得当前的现金
cash = context.portfolio.cash
# 如果上一时间点价格高出五天平均价10%, 则全仓买入
if current_price > 1.1*MA5:
# 用所有 cash 买入股票
order_value(security, cash)
# 记录这次买入
log.info("Buying %s" % (security))
# 如果上一时间点价格低于五天平均价的90%,并且还有可卖出的仓位,则空仓卖出
elif current_price < 0.9*MA5 and context.portfolio.positions[security].closeable_amount > 0:
# 卖出所有股票,使这只股票的最终持有量为0
order_target(security, 0)
# 记录这次卖出
log.info("Selling %s" % (security))