如何将股票交易的3个参数vol in MA(100,10)添加到cal。利润损失和提取百分比以及交易数量的元组

2024-05-16 09:40:25 发布

您现在位置:Python中文网/ 问答频道 /正文

  1. 标准做法是,仅在空头MA为>;时对上行(买入)采取行动;长期MA+10%,当短期MA低于长期MA超过5%时卖出
  2. 使用一系列MAs测试策略。试验短期和长期的组合-例如:短期(试验3天到25天)和长期(25到200天)。您不需要测试每个值。例如,对于3到25,您可以尝试3、4、5、10、15、20、25 3.如果短期市场与长期市场交叉,只有当成交量接近或高于日平均成交量时,短期市场才会采取行动

我使用了VMA策略

signals = pd.DataFrame(index=dt.index)
    signals['Close']=dt['Close']
    signals['percent change']=dt['Percent_Change']
    signals['vol'] = dt['Volume']
    signals['100 MA'] = 
    dt['Close'].rolling(window=100,center=False).mean()
    signals['10 MA'] = dt['Close'].rolling(window=10, 
    center=False).mean()
    signals['vol avg']=dt['Volume'].mean()
    signals['Criteria1'] = (signals['10 MA']< signals['100 MA'])
    signals['Criteria2'] = signals['vol'] <= signals['vol avg']
    signals['BUY OR SELL'] = signals['Criteria1'] & signals['Criteria2']
    signals.tail()
    signals['Criteria 3'] = signals['10 MA']> signals['100 MA'] * 0.1
    signals['buy']=signals['Criteria 3'] 
    signals.tail()
    signals['buy'].value_counts() 
    def tradebuy():
    signals['value'] = signals['BUY OR SELL']
    if signals['BUY OR SELL'] == True:
    if signals['Criteria 3'] == True:
    print("BUY")

输出:一个元组,包含(利润/损失百分比、提取百分比、交易数量、参数值…)


Tags: orcloseindex市场dtbuymean策略