mirror of
https://github.com/microsoft/qlib.git
synced 2026-07-06 20:41:09 +08:00
Black format
This commit is contained in:
@@ -721,7 +721,12 @@ class TemporalFusionTransformer:
|
||||
encoder_steps = self.num_encoder_steps
|
||||
|
||||
# Inputs.
|
||||
all_inputs = tf.keras.layers.Input(shape=(time_steps, combined_input_size,))
|
||||
all_inputs = tf.keras.layers.Input(
|
||||
shape=(
|
||||
time_steps,
|
||||
combined_input_size,
|
||||
)
|
||||
)
|
||||
|
||||
unknown_inputs, known_combined_layer, obs_inputs, static_inputs = self.get_tft_embeddings(all_inputs)
|
||||
|
||||
@@ -861,7 +866,10 @@ class TemporalFusionTransformer:
|
||||
"""Returns LSTM cell initialized with default parameters."""
|
||||
if self.use_cudnn:
|
||||
lstm = tf.keras.layers.CuDNNLSTM(
|
||||
self.hidden_layer_size, return_sequences=True, return_state=return_state, stateful=False,
|
||||
self.hidden_layer_size,
|
||||
return_sequences=True,
|
||||
return_state=return_state,
|
||||
stateful=False,
|
||||
)
|
||||
else:
|
||||
lstm = tf.keras.layers.LSTM(
|
||||
|
||||
@@ -20,7 +20,10 @@ class HighFreqHandler(DataHandlerLP):
|
||||
new_l = []
|
||||
for p in proc_l:
|
||||
p["kwargs"].update(
|
||||
{"fit_start_time": fit_start_time, "fit_end_time": fit_end_time,}
|
||||
{
|
||||
"fit_start_time": fit_start_time,
|
||||
"fit_end_time": fit_end_time,
|
||||
}
|
||||
)
|
||||
new_l.append(p)
|
||||
return new_l
|
||||
@@ -30,7 +33,11 @@ class HighFreqHandler(DataHandlerLP):
|
||||
|
||||
data_loader = {
|
||||
"class": "QlibDataLoader",
|
||||
"kwargs": {"config": self.get_feature_config(), "swap_level": False, "freq": "1min",},
|
||||
"kwargs": {
|
||||
"config": self.get_feature_config(),
|
||||
"swap_level": False,
|
||||
"freq": "1min",
|
||||
},
|
||||
}
|
||||
super().__init__(
|
||||
instruments=instruments,
|
||||
@@ -61,7 +68,8 @@ class HighFreqHandler(DataHandlerLP):
|
||||
|
||||
feature_ops = template_norm.format(
|
||||
template_if.format(
|
||||
template_fillnan.format(template_paused.format("$close")), template_paused.format(price_field),
|
||||
template_fillnan.format(template_paused.format("$close")),
|
||||
template_paused.format(price_field),
|
||||
),
|
||||
template_fillnan.format(template_paused.format("$close")),
|
||||
)
|
||||
@@ -111,14 +119,24 @@ class HighFreqHandler(DataHandlerLP):
|
||||
|
||||
class HighFreqBacktestHandler(DataHandler):
|
||||
def __init__(
|
||||
self, instruments="csi300", start_time=None, end_time=None,
|
||||
self,
|
||||
instruments="csi300",
|
||||
start_time=None,
|
||||
end_time=None,
|
||||
):
|
||||
data_loader = {
|
||||
"class": "QlibDataLoader",
|
||||
"kwargs": {"config": self.get_feature_config(), "swap_level": False, "freq": "1min",},
|
||||
"kwargs": {
|
||||
"config": self.get_feature_config(),
|
||||
"swap_level": False,
|
||||
"freq": "1min",
|
||||
},
|
||||
}
|
||||
super().__init__(
|
||||
instruments=instruments, start_time=start_time, end_time=end_time, data_loader=data_loader,
|
||||
instruments=instruments,
|
||||
start_time=start_time,
|
||||
end_time=end_time,
|
||||
data_loader=data_loader,
|
||||
)
|
||||
|
||||
def get_feature_config(self):
|
||||
@@ -137,7 +155,8 @@ class HighFreqBacktestHandler(DataHandler):
|
||||
fields += [
|
||||
"Cut({0}, 240, None)".format(
|
||||
template_if.format(
|
||||
template_fillnan.format(template_paused.format("$close")), template_paused.format(simpson_vwap),
|
||||
template_fillnan.format(template_paused.format("$close")),
|
||||
template_paused.format(simpson_vwap),
|
||||
)
|
||||
)
|
||||
]
|
||||
|
||||
@@ -65,6 +65,8 @@ class HighFreqNorm(Processor):
|
||||
feat = df_values[:, [0, 1, 2, 3, 4, 10]].reshape(-1, 6 * 240)
|
||||
feat_1 = df_values[:, [5, 6, 7, 8, 9, 11]].reshape(-1, 6 * 240)
|
||||
df_new_features = pd.DataFrame(
|
||||
data=np.concatenate((feat, feat_1), axis=1), index=idx, columns=["FEATURE_%d" % i for i in range(12 * 240)],
|
||||
data=np.concatenate((feat, feat_1), axis=1),
|
||||
index=idx,
|
||||
columns=["FEATURE_%d" % i for i in range(12 * 240)],
|
||||
).sort_index()
|
||||
return df_new_features
|
||||
|
||||
@@ -63,7 +63,13 @@ class HighfreqWorkflow(object):
|
||||
"module_path": "highfreq_handler",
|
||||
"kwargs": DATA_HANDLER_CONFIG0,
|
||||
},
|
||||
"segments": {"train": (start_time, train_end_time), "test": (test_start_time, end_time,),},
|
||||
"segments": {
|
||||
"train": (start_time, train_end_time),
|
||||
"test": (
|
||||
test_start_time,
|
||||
end_time,
|
||||
),
|
||||
},
|
||||
},
|
||||
},
|
||||
"dataset_backtest": {
|
||||
@@ -75,7 +81,13 @@ class HighfreqWorkflow(object):
|
||||
"module_path": "highfreq_handler",
|
||||
"kwargs": DATA_HANDLER_CONFIG1,
|
||||
},
|
||||
"segments": {"train": (start_time, train_end_time), "test": (test_start_time, end_time,),},
|
||||
"segments": {
|
||||
"train": (start_time, train_end_time),
|
||||
"test": (
|
||||
test_start_time,
|
||||
end_time,
|
||||
),
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
@@ -140,11 +152,24 @@ class HighfreqWorkflow(object):
|
||||
"start_time": "2021-01-19 00:00:00",
|
||||
"end_time": "2021-01-25 16:00:00",
|
||||
},
|
||||
segment_kwargs={"test": ("2021-01-19 00:00:00", "2021-01-25 16:00:00",),},
|
||||
segment_kwargs={
|
||||
"test": (
|
||||
"2021-01-19 00:00:00",
|
||||
"2021-01-25 16:00:00",
|
||||
),
|
||||
},
|
||||
)
|
||||
dataset_backtest.init(
|
||||
handler_kwargs={"start_time": "2021-01-19 00:00:00", "end_time": "2021-01-25 16:00:00",},
|
||||
segment_kwargs={"test": ("2021-01-19 00:00:00", "2021-01-25 16:00:00",),},
|
||||
handler_kwargs={
|
||||
"start_time": "2021-01-19 00:00:00",
|
||||
"end_time": "2021-01-25 16:00:00",
|
||||
},
|
||||
segment_kwargs={
|
||||
"test": (
|
||||
"2021-01-19 00:00:00",
|
||||
"2021-01-25 16:00:00",
|
||||
),
|
||||
},
|
||||
)
|
||||
|
||||
##=============get data=============
|
||||
|
||||
@@ -34,7 +34,10 @@ exp_path = str(Path(os.getcwd()).resolve() / exp_folder_name)
|
||||
exp_manager = {
|
||||
"class": "MLflowExpManager",
|
||||
"module_path": "qlib.workflow.expm",
|
||||
"kwargs": {"uri": "file:" + exp_path, "default_exp_name": "Experiment",},
|
||||
"kwargs": {
|
||||
"uri": "file:" + exp_path,
|
||||
"default_exp_name": "Experiment",
|
||||
},
|
||||
}
|
||||
if not exists_qlib_data(provider_uri):
|
||||
print(f"Qlib data is not found in {provider_uri}")
|
||||
|
||||
@@ -81,7 +81,10 @@ if __name__ == "__main__":
|
||||
"strategy": {
|
||||
"class": "TopkDropoutStrategy",
|
||||
"module_path": "qlib.contrib.strategy.strategy",
|
||||
"kwargs": {"topk": 50, "n_drop": 5,},
|
||||
"kwargs": {
|
||||
"topk": 50,
|
||||
"n_drop": 5,
|
||||
},
|
||||
},
|
||||
"backtest": {
|
||||
"verbose": False,
|
||||
|
||||
Reference in New Issue
Block a user