MA5 短 MA10 MA20 月度 MA60 趋势
金叉 MA5>MA10
死叉 MA5<MA10
上涨时候 均线是支撑跌倒均线 会反弹
下跌时候 均线是压力 涨到均线 会回落
股价在均线上 强势
股价在均线下 弱势
与当前股价比较
均线 60 长期
均线 20 短期 小于20 谨慎 大于20 可以考虑
越小越短
import akshare as ak
import pandas as pd
# 日
# df = ak.stock_zh_a_hist(symbol="000021", period="daily", start_date="20250101", end_date="20260313", adjust="qfq")
# 周
# df = ak.stock_zh_a_hist(symbol="000021", period="weekly", start_date="20250101", end_date="20260313", adjust="qfq")
# df.to_csv("000021z.csv", index=False)
# print("数据已保存,共", len(df), "行")
df=pd.read_csv("000021z.csv")
# print(df.head())
# df["日期"] = pd.to_datetime(df["日期"]) # 转为时间格式
# df.sort_values("日期", inplace=True) # 按日期正序排列
df['ma5']=df["收盘"].rolling(window=5).mean()
df['ma10']=df["收盘"].rolling(window=10).mean()
df['ma20']=df["收盘"].rolling(window=20).mean()
df['ma60']=df["收盘"].rolling(window=60).mean()
df_valid = df.dropna(subset=["ma5", "ma10"]).copy()
# 后期使用df_valid去实现数据
df.iloc[-1]['ma5']
df.iloc[-1]['ma10']
df.iloc[-2]['ma5']
df.iloc[-2]['ma10']
Jin = False
Si = False
Duo = False
Kong = False
#金
Jin=(df.iloc[-1]['ma5']>df.iloc[-1]['ma10'])&(df.iloc[-2]['ma5']<df.iloc[-2]['ma10'])
#死
Si=(df.iloc[-1]['ma5']<df.iloc[-1]['ma10'])&(df.iloc[-2]['ma5']>df.iloc[-2]['ma10'])
#2日多
Duo=(df.iloc[-1]['ma5']>df.iloc[-1]['ma10'])&(df.iloc[-2]['ma5']>df.iloc[-2]['ma10'])
#2日空
Kong=(df.iloc[-1]['ma5']<df.iloc[-1]['ma10'])&(df.iloc[-2]['ma5']<df.iloc[-2]['ma10'])
print(df.iloc[-1]['日期'])
print(Jin,Si,Duo,Kong)
# 需要加入周线【周线 加 日线】
#当时股价与均线比较即可 df.iloc[-1]['ma60']