您的位置:首页 > 快讯 > 前沿 >

世界最新:使用双均线怎么分析买卖信号?

来源: 科技时刻远 时间: 2022-08-27 21:46:50

常见移动均线有5天、10天、30天、60天、120天。其中5天、10天是短期均线参考,作为日均线指标。

1)30天、60天指标是中期均线指标,作为季均线指标。

2)120天、240天是长期均线指标,作为年均线指标。


(资料图片仅供参考)

金叉和死叉

1)金叉是指短期均线上穿长期均线,是买入信号。

2)死叉是指短期均线下穿长期均线,是卖出信号。

金叉和死叉线分析

示例题目:

1)获取000063从2020年1月1日开始到2021年底的历史数据,股票为赛为智能。

2)使用pandas计算出3日均线和20日均线

3)输出所有的金叉日期和死叉均线

4)假设有10w,则计算按照金叉买入,死叉卖出的规则,这两年的盈利情况。

import numpy as np

import tushare as ts

import pandas as pd

ts.get_hist_data("300044", start = "2018-05-14", end = "2019-12-31").to_csv("d:/300044.csv")

df = pd.read_csv("d:/300044.csv", index_col="date", parse_dates=["date"])

df["ma3"] = np.NaN

#for i in range(3, len(df)):

# df.loc[df.index[i] ,"ma3"] = df["close"][i-2:i+1].mean()

df["ma3"] = df["open"].rolling(3).mean()

df = df.dropna()

golden_cross = []

dead_cross = []

for i in range(1, len(df)):

if (df["ma3"][i] >= df["ma20"][i]) and (df["ma3"][i - 1] < df["ma20"][i-1]):

golden_cross.append(df.index[i])

for i in range(1, len(df)):

if (df["ma3"][i] <= df["ma20"][i]) and (df["ma3"][i - 1] > df["ma20"][i-1]):

dead_cross.append(df.index[i])

print(golden_cross)

print(dead_cross)

first_money = 100000

money = first_money

hold = 0

sr1 = pd.Series(1, index=golden_cross)

sr2 = pd.Series(0, index=dead_cross)

sr = sr1.append(sr2).sort_index()

print(sr)

for i in range(0, len(sr)):

price = df["open"][sr.index[i]]

if sr.iloc[i] == 1:

buy = money // (price * 100)

hold += buy * 100

money -= buy * 100 * price

print(sr.index[i], "buy socket, price:", price, "spent money:", buy * 100 * price)

else:

money += price * hold

hold = 0

print(sr.index[i], "sell socket, price:", price, " money:", money)

price = df["open"][-1]

now_money = money + price * hold

print("my income:", now_money - first_money)

回测证明,按照金叉买进,死叉卖出方式并不能保证盈利,还得看个股趋情况。

责任编辑:

标签: pandas price start 经验教程