python编写MFI

pandas 实现通达信里的MFI 算法里的关键点: combine()和rolling().sum()方法 combine -- 综合运算, rolling().sum() -- 滚动求和 利用pd.Series的combine()方法, 可以对给定的两个序列执行元素级的操作. 该方法的签名为: Series.combine(self, other, func, fill_value=nan) 这里的func参数通常是一个lambda表达式: 比如: lambda x1, x2: 1.0 if x1>x2 else 0.0 利用自定义的lam...

量化 / 学习笔记 2020-10-20 PM 4℃ 0条

python 如何判断字典是否为空?

在python里,{},[],(),等都等价于False! if dict: print 'not Empty'

量化 / 学习笔记 2020-10-18 PM 5℃ 0条

python计算bias

#计算方法: #bias指标 #N期BIAS=(当日收盘价-N期平均收盘价)/N期平均收盘价*100% df['bias_6'] = (df['close'] - df['close'].rolling(6, min_periods=1).mean())/ df['close'].rolling(6, min_periods=1).mean()*100 df['bias_12'] = (df['close'] - df['close'].rolling(12, min_periods=1).mean())/ df['close'].roll...

量化 / 学习笔记 2020-10-18 PM 4℃ 0条

python计算macd

#macd指标 def get_macd_data(data,short=0,long1=0,mid=0): if short==0: short=12 if long1==0: long1=26 if mid==0: mid=9 data['sema']=pd.Series(data['close']).ewm(span=short).mean() data['lema']=pd.Series(data...

量化 / 学习笔记 2020-10-18 PM 3℃ 0条

Python计算kdj

low_list = df['最低价'].rolling(9, min_periods=9).min() low_list.fillna(value = df['最低价'].expanding().min(), inplace = True) high_list = df['最高价'].rolling(9, min_periods=9).max() high_list.fillna(value = df['最高价'].expanding().max(), inplace = True) rsv = (df['收盘价'] - low_list...

量化 / 学习笔记 2020-10-18 PM 7℃ 0条

Python-pandas的fillna()方法-填充空值

0.摘要 pandas中fillna()方法,能够使用指定的方法填充NA/NaN值。 1.函数详解 函数形式:fillna(value=None, method=None, axis=None, inplace=False, limit=None, downcast=None, **kwargs) 参数: value:用于填充的空值的值。 method: {'backfill', 'bfill', 'pad', 'ffill', None}, default None。定义了填充空值的方法, pad / ffill表示用前面行/列的值,填充当前行/列的...

量化 / 学习笔记 2020-10-17 PM 6℃ 0条

STD(标准差)在Numpy与Pandas中的不同

在Numpy与Pandas中的标准差求法的不同在于ddof的不同。 ddof:贝塞尔(无偏估计)矫正系数。 在Pandas中的处理: DataFrame.std(axis=None, skipna=None, level=None, ddof=1, numeric_only=None, **kwargs) →它求的是样本无偏标准差 在Numpy中的处理: numpy.std(a, axis=None, dtype=None, out=None, ddof=0, keepdims=) →它求的是样本标准差 numpy.std() 求标准差的时...

量化 / 学习笔记 2020-10-12 AM 8℃ 0条

preprocessing.StandardScaler中fit、fit_transform、transform的区别

1、fit 用于计算训练数据的均值和方差, 后面就会用均值和方差来转换训练数据 2、fit_transform 不仅计算训练数据的均值和方差,还会基于计算出来的均值和方差来转换训练数据,从而把数据转换成标准的正太分布 3、transform 很显然,它只是进行转换,只是把训练数据转换成标准的正态分布 一般使用方法: a) 先用fit scaler = preprocessing.StandardScaler().fit(X) 这一步可以得到scaler,scaler里面存的有计算出来的均值和方差 ...

量化 / 学习笔记 2020-10-12 AM 6℃ 0条

SettingWithCopyWarning: A value is trying to be set on a copy of a slice from a DataFrame 解决方法

有兴趣研究可以点开https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy,这个报警主要是在说,当你在采用这种链式赋值时,当你修改df_1时,df也可能随之变化 3、简单代码复现问题 import pandas as pd import numpy as np df = pd.DataFrame(np.random.randint(1,10,(4,5)),columns=["A","B","C...

量化 / 学习笔记 2020-10-12 AM 7℃ 0条

df.reset_index(drop=True)

df.reset_index(drop=True)仅仅只是去除了原本的索引,但是并没有替换,df的索引会有部分缺失。 若要直接替换,应该是这样df.reset_index(drop=True,inplace=True)

量化 / 学习笔记 2020-10-11 PM 8℃ 0条

Python format 格式化函数

Python2.6 开始,新增了一种格式化字符串的函数 str.format(),它增强了字符串格式化的功能。 基本语法是通过 {} 和 : 来代替以前的 % 。 format 函数可以接受不限个参数,位置可以不按顺序。 >>>"{} {}".format("hello", "world") # 不设置指定位置,按默认顺序 'hello world' >>> "{0} {1}".format("hello", "world") # 设置指定位置 'hello world' >>> "{1...

量化 / 学习笔记 2020-10-07 PM 9℃ 0条

Numpy rad2deg()方法示例

numpy.rad2deg(array, out) **参数** 数组:这些是要计算其度数值的角度。 Out:这是输出数组的形状。 **返回** 它返回一个数组, 其中包含输入数组中给定的弧度的等效度角。 **举例** import numpy as np import math arr = [0, math.pi/2, math.pi/4, math.pi/6 ] print ("Input array : \n", arr) degval = np.rad2deg(ar...

量化 / 学习笔记 2020-10-07 PM 7℃ 0条