ttrpy.trend.t3
module
Source code
# Author: joelowj
# License: Apache License, Version 2.0
import pandas as pd
from ttrpy.trend.ema import ema
def t3(df, price, t3, n, v_factor=0.7):
"""
The T3 is a type of moving average, or smoothing function. It is based on the
DEMA. The T3 takes the DEMA calculation and adds a vfactor which is between
zero and 1. The resultant function is called the GD, or Generalized DEMA. A
GD with vfactorof 1 is the same as the DEMA. A GD with a vfactor of zero is
the same as an Exponential Moving Average. The T3 typically uses a vfactor
of 0.7.
Parameters:
df (pd.DataFrame): DataFrame which contain the asset price.
price (string): the column name of the price of the asset.
t3 (string): the column name for the t3 moving average results.
n (int): the total number of periods.
v_factor (float): v factor is a volume factor between 0 and 1 which
determines how the moving averages responds.
Returns:
df (pd.DataFrame): Dataframe with t3 moving average of the asset calculated.
"""
def gd(df, price, gd, n):
df = ema(df, price, gd + "_ema", n)
df = ema(df[n - 1 :], gd + "_ema", gd + "_ema_2", n)
df[gd] = (1 + v_factor) * df[gd + "_ema"] - v_factor * df[
gd + "_ema_2"
]
df = df.dropna().reset_index(drop=True)
df.drop([gd + "_ema", gd + "_ema_2"], axis=1, inplace=True)
return df
df = gd(df, price, t3 + "_gd_1", n)
df = gd(df, t3 + "_gd_1", t3 + "_gd_2", n)
df = gd(df, t3 + "_gd_2", t3, n)
df.drop([t3 + "_gd_1", t3 + "_gd_2"], axis=1, inplace=True)
return df
Functions
def t3(df, price, t3, n, v_factor=0.7)
-
The T3 is a type of moving average, or smoothing function. It is based on the DEMA. The T3 takes the DEMA calculation and adds a vfactor which is between zero and 1. The resultant function is called the GD, or Generalized DEMA. A GD with vfactorof 1 is the same as the DEMA. A GD with a vfactor of zero is the same as an Exponential Moving Average. The T3 typically uses a vfactor of 0.7.
Parameters
df
:pd.DataFrame
- DataFrame which contain the asset price.
price
:string
- the column name of the price of the asset.
t3()
:string
- the column name for the t3 moving average results.
n
:int
- the total number of periods.
v_factor
:float
- v factor is a volume factor between 0 and 1 which determines how the moving averages responds.
Returns
df
:pd.DataFrame
- Dataframe with t3 moving average of the asset calculated.
Source code
def t3(df, price, t3, n, v_factor=0.7): """ The T3 is a type of moving average, or smoothing function. It is based on the DEMA. The T3 takes the DEMA calculation and adds a vfactor which is between zero and 1. The resultant function is called the GD, or Generalized DEMA. A GD with vfactorof 1 is the same as the DEMA. A GD with a vfactor of zero is the same as an Exponential Moving Average. The T3 typically uses a vfactor of 0.7. Parameters: df (pd.DataFrame): DataFrame which contain the asset price. price (string): the column name of the price of the asset. t3 (string): the column name for the t3 moving average results. n (int): the total number of periods. v_factor (float): v factor is a volume factor between 0 and 1 which determines how the moving averages responds. Returns: df (pd.DataFrame): Dataframe with t3 moving average of the asset calculated. """ def gd(df, price, gd, n): df = ema(df, price, gd + "_ema", n) df = ema(df[n - 1 :], gd + "_ema", gd + "_ema_2", n) df[gd] = (1 + v_factor) * df[gd + "_ema"] - v_factor * df[ gd + "_ema_2" ] df = df.dropna().reset_index(drop=True) df.drop([gd + "_ema", gd + "_ema_2"], axis=1, inplace=True) return df df = gd(df, price, t3 + "_gd_1", n) df = gd(df, t3 + "_gd_1", t3 + "_gd_2", n) df = gd(df, t3 + "_gd_2", t3, n) df.drop([t3 + "_gd_1", t3 + "_gd_2"], axis=1, inplace=True) return df