# -*- coding: utf-8 -*- import pandas as pd import numpy as np def sma_signal(df: pd.DataFrame, fast: int = 10, slow: int = 20): df = df.copy() df['sma_fast'] = df['close'].rolling(fast).mean() df['sma_slow'] = df['close'].rolling(slow).mean() df['signal'] = 0 df.loc[df['sma_fast'] > df['sma_slow'], 'signal'] = 1 df.loc[df['sma_fast'] < df['sma_slow'], 'signal'] = -1 return df[['close','sma_fast','sma_slow','signal']].dropna()