Open femtotrader opened 2 months ago
Hello,
I think SFX have a warmup issue (on ma_std_dev)
See data
Date,Open,High,Low,Close,Volume,atr,std_dev,ma_std_dev 02/22/2013 12:00:00 AM,151.16,151.89,150.49,151.89,106292600,,, 02/25/2013 12:00:00 AM,152.63,152.86,149.0,149.0,245483200,,, 02/26/2013 12:00:00 AM,149.72,150.2,148.73,150.02,186331600,,, 02/27/2013 12:00:00 AM,149.89,152.33,149.76,151.91,143932600,,, 02/28/2013 12:00:00 AM,151.9,152.87,151.41,151.61,123724200,,, 03/01/2013 12:00:00 AM,151.09,152.34,150.41,152.11,170612700,,, 03/04/2013 12:00:00 AM,151.76,152.92,151.52,152.92,97328800,,, 03/05/2013 12:00:00 AM,153.66,154.7,153.64,154.29,121238200,,, 03/06/2013 12:00:00 AM,154.84,154.92,154.16,154.5,94284300,,, 03/07/2013 12:00:00 AM,154.71,154.98,154.52,154.78,86002000,,, 03/08/2013 12:00:00 AM,155.46,155.65,154.66,155.44,122805700,,, 03/11/2013 12:00:00 AM,155.33,156.04,155.13,156.03,83235500,1.5841666666666658,2.0828806174782697, 03/12/2013 12:00:00 AM,155.92,156.1,155.21,155.68,104108300,1.5263194444444423,2.1939593521505545, 03/13/2013 12:00:00 AM,155.76,156.12,155.23,155.9,91051500,1.4732928240740735,1.90548532021518,9992.0607750966146683 03/14/2013 12:00:00 AM,156.31,156.8,156.22,156.73,123614200,1.4255184220679011,1.6973876987889336,1.9322774570515562 03/15/2013 12:00:00 AM,155.85,156.04,155.31,155.83,133153200,1.4250585535622415,1.5738955563258366,1.7255895251099835 03/18/2013 12:00:00 AM,154.34,155.64,154.2,154.97,126518300,1.4421370074320568,1.27914576530155,1.5168096734721068 03/19/2013 12:00:00 AM,155.3,155.51,153.59,154.61,167049900,1.4819589234793842,0.9684781876738394,1.273839836433742 03/20/2013 12:00:00 AM,155.52,155.95,155.26,155.69,113607800,1.4701290131894336,0.7065226858038988,0.9847155462597628
9992.0607750966146683 looks odd here (compared to ma_std values which where 2.0828806174782697, 2.1939593521505545, 1.90548532021518
Data https://github.com/QuantConnect/Lean/blob/master/Tests/TestData/spy_ppo.txt
Code to reproduce
import pandas as pd from pathlib import Path import talipp from talipp.ohlcv import OHLCVFactory from talipp.indicators import SFX def main(): fname = "spy_ppo.txt" datetime_fmt = "%m/%d/%Y %I:%M:%S %p" df = pd.read_csv(fname) df["Date"] = pd.to_datetime(df["Date"], format=datetime_fmt) df = df.set_index("Date") def generate_reference_data_for_mimo_indicator( indicator_type, parameters, output_names, fname_stem ): df_in = df[["Open", "High", "Low", "Close", "Volume"]] input_values = OHLCVFactory.from_dict( { "open": df.Open, "high": df.High, "low": df.Low, "close": df.Close, "volume": df.Volume, } ) indicator = indicator_type(**parameters, input_values=input_values) output_values = {output_name: [] for output_name in output_names} raw_output_values = list(indicator) for raw_output_value in raw_output_values: if raw_output_value is None: for output_name in output_names: output_value_for_name = np.nan output_values[output_name].append(output_value_for_name) else: for output_name in output_names: output_value_for_name = getattr(raw_output_value, output_name) output_values[output_name].append(output_value_for_name) df_out = pd.concat([df_in, pd.DataFrame(output_values, index=df.index)], axis=1) df_out.index = df_out.index.strftime(datetime_fmt) df_out.to_csv(Path("out") / f"{fname_stem}.csv") generate_reference_data_for_mimo_indicator( SFX, {"atr_period": 12, "std_dev_period": 12, "std_dev_smoothing_period": 3}, ["atr", "std_dev", "ma_std_dev"], "spy_with_sfx", ) if __name__ == "__main__": main()
Kind regards
Hello,
I think SFX have a warmup issue (on ma_std_dev)
See data
9992.0607750966146683 looks odd here (compared to ma_std values which where 2.0828806174782697, 2.1939593521505545, 1.90548532021518
Data https://github.com/QuantConnect/Lean/blob/master/Tests/TestData/spy_ppo.txt
Code to reproduce
Kind regards