Improve generate_test_data to make it easier to use

This commit is contained in:
Matthias 2021-10-02 15:23:48 +02:00
parent 66e19f5775
commit 77388eb423
2 changed files with 16 additions and 8 deletions

View File

@ -39,17 +39,25 @@ def hyperopt(hyperopt_conf, mocker):
def hyperopt_results(): def hyperopt_results():
return pd.DataFrame( return pd.DataFrame(
{ {
'pair': ['ETH/BTC', 'ETH/BTC', 'ETH/BTC', 'ETH/BTC'], 'pair': ['ETH/USDT', 'ETH/USDT', 'ETH/USDT', 'ETH/USDT'],
'profit_ratio': [-0.1, 0.2, -0.1, 0.3], 'profit_ratio': [-0.1, 0.2, -0.1, 0.3],
'profit_abs': [-0.2, 0.4, -0.2, 0.6], 'profit_abs': [-0.2, 0.4, -0.2, 0.6],
'trade_duration': [10, 30, 10, 10], 'trade_duration': [10, 30, 10, 10],
'amount': [0.1, 0.1, 0.1, 0.1],
'sell_reason': [SellType.STOP_LOSS, SellType.ROI, SellType.STOP_LOSS, SellType.ROI], 'sell_reason': [SellType.STOP_LOSS, SellType.ROI, SellType.STOP_LOSS, SellType.ROI],
'open_date':
[
datetime(2019, 1, 1, 9, 15, 0),
datetime(2019, 2, 1, 8, 55, 0),
datetime(2019, 3, 1, 9, 15, 0),
datetime(2019, 4, 1, 9, 15, 0),
],
'close_date': 'close_date':
[ [
datetime(2019, 1, 1, 9, 26, 3, 478039), datetime(2019, 1, 1, 9, 25, 0),
datetime(2019, 2, 1, 9, 26, 3, 478039), datetime(2019, 2, 1, 9, 25, 0),
datetime(2019, 3, 1, 9, 26, 3, 478039), datetime(2019, 3, 1, 9, 25, 0),
datetime(2019, 4, 1, 9, 26, 3, 478039), datetime(2019, 4, 1, 9, 25, 0),
] ],
} }
) )

View File

@ -9,13 +9,13 @@ from freqtrade.strategy import (merge_informative_pair, stoploss_from_absolute,
timeframe_to_minutes) timeframe_to_minutes)
def generate_test_data(timeframe: str, size: int): def generate_test_data(timeframe: str, size: int, start: str = '2020-07-05'):
np.random.seed(42) np.random.seed(42)
tf_mins = timeframe_to_minutes(timeframe) tf_mins = timeframe_to_minutes(timeframe)
base = np.random.normal(20, 2, size=size) base = np.random.normal(20, 2, size=size)
date = pd.period_range('2020-07-05', periods=size, freq=f'{tf_mins}min').to_timestamp() date = pd.date_range(start, periods=size, freq=f'{tf_mins}min', tz='UTC')
df = pd.DataFrame({ df = pd.DataFrame({
'date': date, 'date': date,
'open': base, 'open': base,