You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

30 lines
946 B

"""Dumb indicator, for testing purposes."""
import pandas as pd # type: ignore
from ..interfaces import Indicator
class LastVariation(Indicator):
"""If last value is greater than current value return 1 otherwise -1."""
def __init__(self, value: pd.Series):
"""Save the value."""
super().__init__()
self.value = value
def __call__(self, data: pd.DataFrame) -> pd.Series:
"""Return a dataframe of valuation of each stock from the input data.
Args:
data (DataFrame): Time-Stock valuated candlestick data.
For each time and each stock give (high, low, open, close).
Returns:
DataFrame: Stock valuated float.
For each stock give -1 if realy bad and +1 if realy good.
"""
if self.value[-1]["close"] >= self.value[-2]["close"]:
return 1
else:
return -1
# return self.value