用Python采用akshare库给出代码:1)均线呈多头排列。 5日均线向上角度越大越好,如果MACD,KDJ有金叉配合最好; 2)在当天收十字星,最低价未破5日均线
时间: 2024-04-29 20:25:57 浏览: 126
以下是符合您要求的Python代码:
```
import akshare as ak
import pandas as pd
import talib
# 获取股票数据
stock_data = ak.stock_zh_a_daily(symbol="sh600000", start_date="20210101", end_date="20211231")
stock_data = stock_data.sort_index(ascending=True)
# 计算指标
stock_data["ma5"] = talib.MA(stock_data["close"], timeperiod=5)
stock_data["ma10"] = talib.MA(stock_data["close"], timeperiod=10)
stock_data["ma20"] = talib.MA(stock_data["close"], timeperiod=20)
stock_data["macd"], stock_data["macd_signal"], stock_data["macd_hist"] = talib.MACD(stock_data["close"])
stock_data["slowk"], stock_data["slowd"] = talib.STOCH(stock_data["high"], stock_data["low"], stock_data["close"])
stock_data["rsi"] = talib.RSI(stock_data["close"])
# 判断是否符合条件
if stock_data.iloc[-1]["low"] > stock_data.iloc[-1]["ma5"] and stock_data.iloc[-1]["open"] < stock_data.iloc[-1]["close"] and stock_data.iloc[-1]["open"] > stock_data.iloc[-1]["ma5"]:
ma5_angle = talib.LINEARREG_ANGLE(stock_data["ma5"], timeperiod=5)[-1]
if ma5_angle > 0:
if stock_data.iloc[-1]["macd"] > stock_data.iloc[-1]["macd_signal"] and stock_data.iloc[-2]["macd"] < stock_data.iloc[-2]["macd_signal"]:
print("符合条件")
elif stock_data.iloc[-1]["slowk"] > stock_data.iloc[-1]["slowd"] and stock_data.iloc[-2]["slowk"] < stock_data.iloc[-2]["slowd"]:
print("符合条件")
elif stock_data.iloc[-1]["rsi"] < 30 and stock_data.iloc[-2]["rsi"] > 30:
print("符合条件")
else:
print("不符合条件")
else:
print("不符合条件")
else:
print("不符合条件")
```
请注意,此代码仅供参考,具体使用时需要根据您的实际情况进行调整。
阅读全文