[转发]MyTT所有源码

MyTT是一个用Python实现的通达信和同花顺技术指标库,包含了多种技术指标函数,如MACD、KDJ、RSI等,并不断更新和完善。该库支持线性回归、移动平均、过滤等功能,适用于金融数据分析和交易策略的开发。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

# MyTT 麦语言-通达信-同花顺指标实现 https://github.com/mpquant/MyTT

# MyTT高级函数验证版本: https://github.com/mpquant/MyTT/blob/main/MyTT_plus.py

# Python2老版本pandas特别的MyTT: https://github.com/mpquant/MyTT/blob/main/MyTT_python2.py

# V2.1 2021-6-6 新增 BARSLAST函数 SLOPE,FORCAST线性回归预测函数

# V2.3 2021-6-13 新增 TRIX,DPO,BRAR,DMA,MTM,MASS,ROC,VR,ASI等指标

# V2.4 2021-6-27 新增 EXPMA,OBV,MFI指标, 改进SMA核心函数(核心函数彻底无循环)

# V2.7 2021-11-21 修正 SLOPE,BARSLAST,函数,新加FILTER,LONGCROSS, 感谢qzhjiang对SLOPE,SMA等函数的指正

# V2.8 2021-11-23 修正 FORCAST,WMA函数,欢迎qzhjiang,stanene,bcq加入社群,一起来完善myTT库

# V2.9 2021-11-29 新增 HHVBARS,LLVBARS,CONST, VALUEWHEN功能函数

# V2.92 2021-11-30 新增 BARSSINCEN函数,现在可以 pip install MyTT 完成安装

# V3.0 2021-12-04 改进 DMA函数支持序列,新增XS2 薛斯通道II指标

# V3.1 2021-12-19 新增 TOPRANGE,LOWRANGE一级函数

#以下所有函数如无特别说明,输入参数S均为numpy序列或者列表list,N为整型int

#应用层1级函数完美兼容通达信或同花顺,具体使用方法请参考通达信

import numpy as np; import pandas as pd

#------------------ 0级:核心工具函数 --------------------------------------------

def RD(N,D=3): return np.round(N,D) #四舍五入取3位小数

def RET(S,N=1): return np.array(S)[-N] #返回序列倒数第N个值,默认返回最后一个

def ABS(S): return np.abs(S) #返回N的绝对值

def LN(S): return np.log(S) #求底是e的自然对数,

def POW(S,N): return np.power(S,N) #求S的N次方

def SQRT(S): return np.sqrt(S) #求S的平方根

def MAX(S1,S2): return np.maximum(S1,S2) #序列max

def MIN(S1,S2): return np.minimum(S1,S2) #序列min

def IF(S,A,B): return np.where(S,A,B) #序列布尔判断 return=A if S==True else B

def REF(S, N=1): #对序列整体下移动N,返回序列(shift后会产生NAN)

return pd.Series(S).shift(N).values

def DIFF(S, N=1): #前一个值减后一个值,前面会产生nan

return pd.Series(S).diff(N).values #np.diff(S)直接删除nan,会少一行

def STD(S,N): #求序列的N日标准差,返回序列

return pd.Series(S).rolling(N).std(ddof=0).values

def SUM(S, N): #对序列求N天累计和,返回序列 N=0对序列所有依次求和

return pd.Series(S).rolling(N).sum().values if N>0 else pd.Series(S).cumsum().values

def CONST(S): #返回序列S最后的值组成常量序列

return np.full(len(S),S[-1])

def HHV(S,N): #HHV(C, 5) 最近5天收盘最高价

return pd.Series(S).rolling(N).max().values

def LLV(S,N): #LLV(C, 5) 最近5天收盘最低价

return pd.Series(S).rolling(N).min().values

def HHVBARS(S,N): #求N周期内S最高值到当前周期数, 返回序列

return pd.Series(S).rolling(N).apply(lambda x: np.argmax(x[::-1]),raw=True).values

def LLVBARS(S,N): #求N周期内S最低值到当前周期数, 返回序列

return pd.Series(S).rolling(N).apply(lambda x: np.argmin(x[::-1]),raw=True).values<

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值