哈喽,大家好,我是木头左!
快慢双均线策略简介
快慢双均线策略是一种基于均线的技术分析方法,它通过计算两条不同周期的移动平均线(快线和慢线)之间的交叉点来判断市场的买入和卖出时机。当快线从下向上穿过慢线时,形成金叉,表示市场即将上涨,此时可以买入;当快线从上向下穿过慢线时,形成死叉,表示市场即将下跌,此时可以卖出。
Python代码实现
获取持仓数据
需要获取账户的持仓数据。这里使用get_trade_detail_data
函数来获取账户的持仓信息,并将其存储在holdings
变量中。然后,将持仓数据转换为字典格式,以便于后续处理。
holdings = get_trade_detail_data(A.acct, A.acct_type, 'position')
holdings = {i.m_strInstrumentID + '.' + i.m_strExchangeID : i.m_nCanUseVolume for i in holdings}
获取行情数据
接下来,需要获取股票的历史行情数据。这里使用get_history_data
函数来获取指定股票的日线行情数据,并将其存储在data
变量中。然后,从data
中提取出指定股票的收盘价列表,并检查其长度是否足够。如果长度不足,说明股票可能新上市或最近有停牌,此时跳过运行。
# 获取行情数据
data = C.get_history_data(max(A.line1, A.line2)+1, '1d', 'close',dividend_type='front_ratio')
close_list = data[A.stock]
if len(close_list) < max(A.line1, A.line2)+1:
print('行情长度不足(新上市或最近有停牌) 跳过运行')
return
计算均线
为了计算短期和长期均线,需要先计算指定天数内的收盘价均值。这里分别计算了短期均线(快线)和长期均线(慢线)。
pre_line1 = np.mean(close_list[-A.line1-1: -1])
pre_line2 = np.mean(close_list[-A.line2-1: -1])
current_line1 = np.mean(close_list[-A.line1:])
current_line2 = np.mean(close_list[-A.line2:])
判断交易信号
根据双均线策略,当快线上穿慢线时,认为是一个买入信号;当快线下穿慢线时,认为是一个卖出信号。以下是具体的判断逻辑:
-
如果当前无持仓,且满足以下条件,则发出买入委托:
- 快线穿过慢线
- 买入数量不超过可用资金
- 买入数量为100的整数倍
-
如果当前持有该股票,且满足以下条件,则发出卖出委托:
- 快线下穿慢线
以下是具体的交易逻辑实现:
# 如果快线穿过慢线,则买入委托 当前无持仓 买入
vol = int(A.amount / close_list[-1] / 100) * 100 #买入数量 向下取整到100的整数倍
if A.amount < available_cash and vol >= 100 and A.stock not in holdings and pre_line1 < pre_line2 and current_line1 > current_line2:
#下单开仓 ,参数说明可搜索PY交易函数 passorder
msg = f"双均线实盘 {A.stock} 上穿均线 买入 {vol}股"
passorder(A.buy_code, 1101, A.acct, A.stock, 14, -1, vol, '双均线实盘', 1 , msg, C)
print(msg)
A.waiting_list.append(msg)
#如果快线下穿慢线,则卖出委托
if A.stock in holdings and holdings[A.stock] > 0 and pre_line1 > pre_line2 and current_line1 < current_line2:
msg = f"双均线实盘 {A.stock} 下穿均线 卖出 {holdings[A.stock]}股"
passorder(A.sell_code, 1101, A.acct, A.stock, 14, -1, holdings[A.stock], '双均线实盘', 1 , msg, C)
print(msg)
A.waiting_list.append(msg)
快慢双均线策略的优点
-
简单易懂:快慢双均线策略的原理非常简单,只需要计算两条移动平均线的交叉点即可,不需要复杂的数学模型和专业知识。
-
适应性强:快慢双均线策略适用于各种金融市场和投资品种,无论是股票、期货还是外汇等,都可以使用该策略进行交易。
-
信号明确:快慢双均线策略的信号非常明确,金叉表示买入,死叉表示卖出,投资者可以很容易地根据信号进行操作。
快慢双均线策略的缺点
-
滞后性:由于移动平均线是通过对过去一段时间的价格进行平滑处理得到的,因此存在一定的滞后性。当市场发生快速变化时,移动平均线可能无法及时反映市场的变化,导致交易信号出现延迟。
-
假信号:快慢双均线策略可能会出现假信号,即金叉或死叉出现后,市场价格并没有按照预期的方向运行,而是出现了反转。这种情况下,投资者可能会因为错误的信号而产生亏损。
-
参数选择:快慢双均线策略的效果受到快慢天数等参数选择的影响,选择合适的参数对于提高策略的有效性至关重要。然而,参数的选择往往是主观的,不同的投资者可能会有不同的选择,导致策略效果的差异。
-
过度交易:由于快慢双均线策略的信号较为明确,投资者可能会频繁地进行买卖操作,导致过度交易。过度交易不仅会增加交易成本,还可能导致投资者在市场波动时失去耐心,从而影响投资决策。
如何优化策略?
虽然快慢双均线策略在很多情况下都能取得不错的效果,但是过于简单,对于人为制造的图形形态,会有误判:
-
调整快线和慢线的周期:不同的市场和股票可能适用不同的周期,可以尝试调整快线和慢线的周期,以找到最佳的组合。
-
结合其他技术指标:除了均线之外,还可以考虑结合其他技术指标,如MACD、RSI等,以提高策略的准确性。
感谢大家阅读本文,希望这篇文章能够对大家有所启发,帮助大家在量化交易的道路上越走越远。如果你喜欢这篇文章,请点赞、分享和关注的博客,将为大家带来更多有价值的内容。期待与大家在未来的日子里共同成长,实现财富的增值!
我是木头左,感谢各位童鞋的点赞、收藏,我们下期更精彩!