added window size optimization classes
This commit is contained in:
@@ -3,11 +3,10 @@ from __future__ import annotations
|
||||
from abc import ABC, abstractmethod
|
||||
from datetime import datetime
|
||||
from enum import Enum
|
||||
from typing import Any, Dict, Optional, Type, cast, Generator, List
|
||||
from typing import Any, Dict, Generator, List, Optional, Type, cast
|
||||
|
||||
import pandas as pd
|
||||
|
||||
from pt_strategy.model_data_policy import DataParams
|
||||
from pt_strategy.model_data_policy import DataWindowParams
|
||||
|
||||
|
||||
class PairState(Enum):
|
||||
@@ -26,7 +25,6 @@ class TradingPair:
|
||||
|
||||
stat_model_price_: str
|
||||
model_: PairsTradingModel # type: ignore[assignment]
|
||||
model_tdp_: ModelDataPolicy # type: ignore[assignment]
|
||||
|
||||
user_data_: Dict[str, Any]
|
||||
|
||||
@@ -44,7 +42,6 @@ class TradingPair:
|
||||
self.symbol_a_ = instruments[0]["symbol"]
|
||||
self.symbol_b_ = instruments[1]["symbol"]
|
||||
self.model_ = PairsTradingModel.create(config)
|
||||
self.model_tdp_ = ModelDataPolicy.create(config)
|
||||
self.stat_model_price_ = config["stat_model_price"]
|
||||
self.user_data_ = {
|
||||
"state": PairState.INITIAL,
|
||||
@@ -159,12 +156,9 @@ class TradingPair:
|
||||
})
|
||||
|
||||
|
||||
def run(self, market_data: pd.DataFrame, data_params: DataParams) -> Prediction: # type: ignore[assignment]
|
||||
def run(self, market_data: pd.DataFrame, data_params: DataWindowParams) -> Prediction: # type: ignore[assignment]
|
||||
self.market_data_ = market_data[data_params.training_start_index:data_params.training_start_index + data_params.training_size]
|
||||
return self.model_.predict(pair=self)
|
||||
|
||||
while self.model_tdp_.has_next_training_data():
|
||||
training_data = self.model_tdp_.get_next_training_data()
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user