mirror of
https://github.com/wassname/ETSformer.git
synced 2026-09-09 11:14:02 +08:00
1290 lines
65 KiB
Plaintext
1290 lines
65 KiB
Plaintext
{
|
||
"cells": [
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 1,
|
||
"id": "d2d7a060",
|
||
"metadata": {
|
||
"ExecuteTime": {
|
||
"end_time": "2022-11-28T10:41:41.699622Z",
|
||
"start_time": "2022-11-28T10:41:41.697583Z"
|
||
}
|
||
},
|
||
"outputs": [],
|
||
"source": [
|
||
"import os\n",
|
||
"os.sys.path.append('..')"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 2,
|
||
"id": "493a85a8",
|
||
"metadata": {
|
||
"ExecuteTime": {
|
||
"end_time": "2022-11-28T10:41:41.730196Z",
|
||
"start_time": "2022-11-28T10:41:41.700557Z"
|
||
}
|
||
},
|
||
"outputs": [],
|
||
"source": [
|
||
"import warnings\n",
|
||
"warnings.simplefilter(\"ignore\")\n",
|
||
"\n",
|
||
"# autoreload import your package\n",
|
||
"%load_ext autoreload\n",
|
||
"%autoreload 2"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 3,
|
||
"id": "873c7ab3",
|
||
"metadata": {
|
||
"ExecuteTime": {
|
||
"end_time": "2022-11-28T10:41:41.748569Z",
|
||
"start_time": "2022-11-28T10:41:41.731432Z"
|
||
}
|
||
},
|
||
"outputs": [],
|
||
"source": [
|
||
"from loguru import logger\n",
|
||
"logger.remove()\n",
|
||
"logger.add(os.sys.stdout, level=\"ERROR\", colorize=True, format=\"<level>{time} | {message}</level>\")\n",
|
||
"# import_dir(ta_dir, verbose=False)\n",
|
||
"warnings.simplefilter(\"ignore\")"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 4,
|
||
"id": "6c991fe3",
|
||
"metadata": {
|
||
"ExecuteTime": {
|
||
"end_time": "2022-11-28T10:41:42.490541Z",
|
||
"start_time": "2022-11-28T10:41:41.749534Z"
|
||
}
|
||
},
|
||
"outputs": [],
|
||
"source": [
|
||
"import torch\n",
|
||
"import pandas as pd\n",
|
||
"from matplotlib import pyplot as plt\n",
|
||
"%matplotlib inline"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "92ef6734",
|
||
"metadata": {},
|
||
"source": [
|
||
"# Args"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 5,
|
||
"id": "8e2098cb",
|
||
"metadata": {
|
||
"ExecuteTime": {
|
||
"end_time": "2022-11-28T10:41:42.749164Z",
|
||
"start_time": "2022-11-28T10:41:42.491911Z"
|
||
}
|
||
},
|
||
"outputs": [],
|
||
"source": [
|
||
"from run import set_seed, get_args, Exp_Main"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 6,
|
||
"id": "99d7b86d",
|
||
"metadata": {
|
||
"ExecuteTime": {
|
||
"end_time": "2022-11-28T11:07:52.167744Z",
|
||
"start_time": "2022-11-28T10:41:42.750546Z"
|
||
}
|
||
},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"Args in experiment:\n",
|
||
"Namespace(K=0, activation='sigmoid', batch_size=32, c_out=1, checkpoints='./checkpoints/', d_ff=2048, d_layers=3, d_model=512, damping_learning_rate=0, data='custom', data_path='OXY_2019.csv.gz', dec_in=7, des=\"'Exp'\", devices='0,1,2,3', dropout=0.2, e_layers=3, embed='timeF', enc_in=12, features='M2S', freq='h', gpu=0, itr=1, label_len=0, learning_rate=0.001, lradj='exponential_with_warmup', min_lr=1e-30, model='ETSformer', model_id='Exchange', n_heads=16, num_workers=0, optim='adam', output_attention=False, patience=5, pred_len=12, root_path='../dataset/stocks/', seq_len=256, smoothing_learning_rate=0, std=0.2, target='RSMKs_18_144_72_2ref_2ref', train_epochs=15, use_gpu=True, use_multi_gpu=False, warmup_epochs=3)\n",
|
||
"Use GPU: cuda:0\n",
|
||
">>>>>>>start training : Exchange_ETSformer_custom_ftM2S_sl256_pl12_dm512_nh16_el3_dl3_df2048_K0_lr0.001_'Exp'_0>>>>>>>>>>>>>>>>>>>>>>>>>>\n",
|
||
"train 37111\n",
|
||
"val 5330\n",
|
||
"test 10668\n"
|
||
]
|
||
},
|
||
{
|
||
"data": {
|
||
"application/vnd.jupyter.widget-view+json": {
|
||
"model_id": "88350c6aaffd407c82ced77be879bc81",
|
||
"version_major": 2,
|
||
"version_minor": 0
|
||
},
|
||
"text/plain": [
|
||
" 0%| | 0/15 [00:00<?, ?epoch/s]"
|
||
]
|
||
},
|
||
"metadata": {},
|
||
"output_type": "display_data"
|
||
},
|
||
{
|
||
"data": {
|
||
"application/vnd.jupyter.widget-view+json": {
|
||
"model_id": "",
|
||
"version_major": 2,
|
||
"version_minor": 0
|
||
},
|
||
"text/plain": [
|
||
"train: 0%| | 0/1159 [00:00<?, ?it/s]"
|
||
]
|
||
},
|
||
"metadata": {},
|
||
"output_type": "display_data"
|
||
},
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"Epoch: 1, Steps: 1159 | Train Loss: 0.1754474 Vali Loss: 0.0231598 Test Loss: 0.0334731\n",
|
||
"Validation loss decreased (inf --> 0.023160). Saving model ...\n",
|
||
"Updating learning rate to 0.00025\n"
|
||
]
|
||
},
|
||
{
|
||
"data": {
|
||
"application/vnd.jupyter.widget-view+json": {
|
||
"model_id": "",
|
||
"version_major": 2,
|
||
"version_minor": 0
|
||
},
|
||
"text/plain": [
|
||
"train: 0%| | 0/1159 [00:00<?, ?it/s]"
|
||
]
|
||
},
|
||
"metadata": {},
|
||
"output_type": "display_data"
|
||
},
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"Epoch: 2, Steps: 1159 | Train Loss: 0.1607344 Vali Loss: 0.0065583 Test Loss: 0.0085996\n",
|
||
"Validation loss decreased (0.023160 --> 0.006558). Saving model ...\n",
|
||
"Updating learning rate to 0.0005\n"
|
||
]
|
||
},
|
||
{
|
||
"data": {
|
||
"application/vnd.jupyter.widget-view+json": {
|
||
"model_id": "",
|
||
"version_major": 2,
|
||
"version_minor": 0
|
||
},
|
||
"text/plain": [
|
||
"train: 0%| | 0/1159 [00:00<?, ?it/s]"
|
||
]
|
||
},
|
||
"metadata": {},
|
||
"output_type": "display_data"
|
||
},
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"Epoch: 3, Steps: 1159 | Train Loss: 0.1427123 Vali Loss: 0.0055523 Test Loss: 0.0080176\n",
|
||
"Validation loss decreased (0.006558 --> 0.005552). Saving model ...\n",
|
||
"Updating learning rate to 0.00075\n"
|
||
]
|
||
},
|
||
{
|
||
"data": {
|
||
"application/vnd.jupyter.widget-view+json": {
|
||
"model_id": "",
|
||
"version_major": 2,
|
||
"version_minor": 0
|
||
},
|
||
"text/plain": [
|
||
"train: 0%| | 0/1159 [00:00<?, ?it/s]"
|
||
]
|
||
},
|
||
"metadata": {},
|
||
"output_type": "display_data"
|
||
},
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"Epoch: 4, Steps: 1159 | Train Loss: 0.1279594 Vali Loss: 0.0096495 Test Loss: 0.0123530\n",
|
||
"EarlyStopping counter: 1 out of 5\n",
|
||
"Updating learning rate to 0.001\n"
|
||
]
|
||
},
|
||
{
|
||
"data": {
|
||
"application/vnd.jupyter.widget-view+json": {
|
||
"model_id": "",
|
||
"version_major": 2,
|
||
"version_minor": 0
|
||
},
|
||
"text/plain": [
|
||
"train: 0%| | 0/1159 [00:00<?, ?it/s]"
|
||
]
|
||
},
|
||
"metadata": {},
|
||
"output_type": "display_data"
|
||
},
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"Epoch: 5, Steps: 1159 | Train Loss: 0.1277149 Vali Loss: 0.0093008 Test Loss: 0.0128422\n",
|
||
"EarlyStopping counter: 2 out of 5\n",
|
||
"Updating learning rate to 0.0005\n"
|
||
]
|
||
},
|
||
{
|
||
"data": {
|
||
"application/vnd.jupyter.widget-view+json": {
|
||
"model_id": "",
|
||
"version_major": 2,
|
||
"version_minor": 0
|
||
},
|
||
"text/plain": [
|
||
"train: 0%| | 0/1159 [00:00<?, ?it/s]"
|
||
]
|
||
},
|
||
"metadata": {},
|
||
"output_type": "display_data"
|
||
},
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"Epoch: 6, Steps: 1159 | Train Loss: 0.1275677 Vali Loss: 0.0053658 Test Loss: 0.0075932\n",
|
||
"Validation loss decreased (0.005552 --> 0.005366). Saving model ...\n",
|
||
"Updating learning rate to 0.00025\n"
|
||
]
|
||
},
|
||
{
|
||
"data": {
|
||
"application/vnd.jupyter.widget-view+json": {
|
||
"model_id": "",
|
||
"version_major": 2,
|
||
"version_minor": 0
|
||
},
|
||
"text/plain": [
|
||
"train: 0%| | 0/1159 [00:00<?, ?it/s]"
|
||
]
|
||
},
|
||
"metadata": {},
|
||
"output_type": "display_data"
|
||
},
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"Epoch: 7, Steps: 1159 | Train Loss: 0.1138183 Vali Loss: 0.0042887 Test Loss: 0.0057305\n",
|
||
"Validation loss decreased (0.005366 --> 0.004289). Saving model ...\n",
|
||
"Updating learning rate to 0.000125\n"
|
||
]
|
||
},
|
||
{
|
||
"data": {
|
||
"application/vnd.jupyter.widget-view+json": {
|
||
"model_id": "",
|
||
"version_major": 2,
|
||
"version_minor": 0
|
||
},
|
||
"text/plain": [
|
||
"train: 0%| | 0/1159 [00:00<?, ?it/s]"
|
||
]
|
||
},
|
||
"metadata": {},
|
||
"output_type": "display_data"
|
||
},
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"Epoch: 8, Steps: 1159 | Train Loss: 0.1130605 Vali Loss: 0.0043534 Test Loss: 0.0060191\n",
|
||
"EarlyStopping counter: 1 out of 5\n",
|
||
"Updating learning rate to 6.25e-05\n"
|
||
]
|
||
},
|
||
{
|
||
"data": {
|
||
"application/vnd.jupyter.widget-view+json": {
|
||
"model_id": "",
|
||
"version_major": 2,
|
||
"version_minor": 0
|
||
},
|
||
"text/plain": [
|
||
"train: 0%| | 0/1159 [00:00<?, ?it/s]"
|
||
]
|
||
},
|
||
"metadata": {},
|
||
"output_type": "display_data"
|
||
},
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"Epoch: 9, Steps: 1159 | Train Loss: 0.1090457 Vali Loss: 0.0035517 Test Loss: 0.0049039\n",
|
||
"Validation loss decreased (0.004289 --> 0.003552). Saving model ...\n",
|
||
"Updating learning rate to 3.125e-05\n"
|
||
]
|
||
},
|
||
{
|
||
"data": {
|
||
"application/vnd.jupyter.widget-view+json": {
|
||
"model_id": "",
|
||
"version_major": 2,
|
||
"version_minor": 0
|
||
},
|
||
"text/plain": [
|
||
"train: 0%| | 0/1159 [00:00<?, ?it/s]"
|
||
]
|
||
},
|
||
"metadata": {},
|
||
"output_type": "display_data"
|
||
},
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"Epoch: 10, Steps: 1159 | Train Loss: 0.1034120 Vali Loss: 0.0035072 Test Loss: 0.0049077\n",
|
||
"Validation loss decreased (0.003552 --> 0.003507). Saving model ...\n",
|
||
"Updating learning rate to 1.5625e-05\n"
|
||
]
|
||
},
|
||
{
|
||
"data": {
|
||
"application/vnd.jupyter.widget-view+json": {
|
||
"model_id": "",
|
||
"version_major": 2,
|
||
"version_minor": 0
|
||
},
|
||
"text/plain": [
|
||
"train: 0%| | 0/1159 [00:00<?, ?it/s]"
|
||
]
|
||
},
|
||
"metadata": {},
|
||
"output_type": "display_data"
|
||
},
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"Epoch: 11, Steps: 1159 | Train Loss: 0.1109674 Vali Loss: 0.0033732 Test Loss: 0.0047901\n",
|
||
"Validation loss decreased (0.003507 --> 0.003373). Saving model ...\n",
|
||
"Updating learning rate to 7.8125e-06\n"
|
||
]
|
||
},
|
||
{
|
||
"data": {
|
||
"application/vnd.jupyter.widget-view+json": {
|
||
"model_id": "",
|
||
"version_major": 2,
|
||
"version_minor": 0
|
||
},
|
||
"text/plain": [
|
||
"train: 0%| | 0/1159 [00:00<?, ?it/s]"
|
||
]
|
||
},
|
||
"metadata": {},
|
||
"output_type": "display_data"
|
||
},
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"Epoch: 12, Steps: 1159 | Train Loss: 0.1124570 Vali Loss: 0.0034817 Test Loss: 0.0049386\n",
|
||
"EarlyStopping counter: 1 out of 5\n",
|
||
"Updating learning rate to 3.90625e-06\n"
|
||
]
|
||
},
|
||
{
|
||
"data": {
|
||
"application/vnd.jupyter.widget-view+json": {
|
||
"model_id": "",
|
||
"version_major": 2,
|
||
"version_minor": 0
|
||
},
|
||
"text/plain": [
|
||
"train: 0%| | 0/1159 [00:00<?, ?it/s]"
|
||
]
|
||
},
|
||
"metadata": {},
|
||
"output_type": "display_data"
|
||
},
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"Epoch: 13, Steps: 1159 | Train Loss: 0.1052720 Vali Loss: 0.0035949 Test Loss: 0.0051179\n",
|
||
"EarlyStopping counter: 2 out of 5\n",
|
||
"Updating learning rate to 1.953125e-06\n"
|
||
]
|
||
},
|
||
{
|
||
"data": {
|
||
"application/vnd.jupyter.widget-view+json": {
|
||
"model_id": "",
|
||
"version_major": 2,
|
||
"version_minor": 0
|
||
},
|
||
"text/plain": [
|
||
"train: 0%| | 0/1159 [00:00<?, ?it/s]"
|
||
]
|
||
},
|
||
"metadata": {},
|
||
"output_type": "display_data"
|
||
},
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"Epoch: 14, Steps: 1159 | Train Loss: 0.1118911 Vali Loss: 0.0035167 Test Loss: 0.0050038\n",
|
||
"EarlyStopping counter: 3 out of 5\n",
|
||
"Updating learning rate to 9.765625e-07\n"
|
||
]
|
||
},
|
||
{
|
||
"data": {
|
||
"application/vnd.jupyter.widget-view+json": {
|
||
"model_id": "",
|
||
"version_major": 2,
|
||
"version_minor": 0
|
||
},
|
||
"text/plain": [
|
||
"train: 0%| | 0/1159 [00:00<?, ?it/s]"
|
||
]
|
||
},
|
||
"metadata": {},
|
||
"output_type": "display_data"
|
||
},
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"Epoch: 15, Steps: 1159 | Train Loss: 0.1101214 Vali Loss: 0.0035256 Test Loss: 0.0050054\n",
|
||
"EarlyStopping counter: 4 out of 5\n",
|
||
"Updating learning rate to 4.8828125e-07\n",
|
||
">>>>>>>testing : Exchange_ETSformer_custom_ftM2S_sl256_pl12_dm512_nh16_el3_dl3_df2048_K0_lr0.001_'Exp'_0<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<\n",
|
||
"val 5330\n",
|
||
"loading model\n"
|
||
]
|
||
},
|
||
{
|
||
"data": {
|
||
"application/vnd.jupyter.widget-view+json": {
|
||
"model_id": "",
|
||
"version_major": 2,
|
||
"version_minor": 0
|
||
},
|
||
"text/plain": [
|
||
" 0%| | 0/166 [00:00<?, ?it/s]"
|
||
]
|
||
},
|
||
"metadata": {},
|
||
"output_type": "display_data"
|
||
},
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"test shape: (166, 32, 12, 1) (166, 32, 12, 1)\n",
|
||
"test shape: (5312, 12, 1) (5312, 12, 1)\n",
|
||
"mse:0.00336787779815495, mae:0.04273906722664833\n",
|
||
"test 10668\n",
|
||
"loading model\n"
|
||
]
|
||
},
|
||
{
|
||
"data": {
|
||
"application/vnd.jupyter.widget-view+json": {
|
||
"model_id": "",
|
||
"version_major": 2,
|
||
"version_minor": 0
|
||
},
|
||
"text/plain": [
|
||
" 0%| | 0/333 [00:00<?, ?it/s]"
|
||
]
|
||
},
|
||
"metadata": {},
|
||
"output_type": "display_data"
|
||
},
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"test shape: (333, 32, 12, 1) (333, 32, 12, 1)\n",
|
||
"test shape: (10656, 12, 1) (10656, 12, 1)\n",
|
||
"mse:0.004790135659277439, mae:0.051230162382125854\n"
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"# mimic cli args to avoid code duplication\n",
|
||
"argv = \"\"\"python -u run.py \\\n",
|
||
" --root_path ../dataset/stocks/ \\\n",
|
||
" --data_path OXY_2019.csv.gz \\\n",
|
||
" --checkpoints ./checkpoints/ \\\n",
|
||
" --model_id Exchange \\\n",
|
||
" --model ETSformer \\\n",
|
||
" --data custom \\\n",
|
||
" --features M2S \\\n",
|
||
" --seq_len 256 \\\n",
|
||
" --pred_len 12 \\\n",
|
||
" --e_layers 3 \\\n",
|
||
" --d_layers 3 \\\n",
|
||
" --enc_in 12 \\\n",
|
||
" --d_model 512 \\\n",
|
||
" --d_ff 2048 \\\n",
|
||
" --n_heads 16 \\\n",
|
||
" --dropout 0.2 \\\n",
|
||
" --c_out 1 \\\n",
|
||
" --num_workers 0 \\\n",
|
||
" --des 'Exp' \\\n",
|
||
" --K 0 \\\n",
|
||
" --learning_rate 1e-3 \\\n",
|
||
" --target RSMKs_18_144_72_2ref_2ref \\\n",
|
||
" --itr 1\n",
|
||
"\"\"\"\n",
|
||
"argv = argv.replace(\"\\\\n\", \"\").split()[3:]\n",
|
||
"args = get_args(argv)\n",
|
||
"args\n",
|
||
"\n",
|
||
"\n",
|
||
"Exp = Exp_Main\n",
|
||
"ii=0\n",
|
||
"set_seed(ii)\n",
|
||
"# setting record of experiments\n",
|
||
"setting = '{}_{}_{}_ft{}_sl{}_pl{}_dm{}_nh{}_el{}_dl{}_df{}_K{}_lr{}_{}_{}'.format(\n",
|
||
" args.model_id,\n",
|
||
" args.model,\n",
|
||
" args.data,\n",
|
||
" args.features,\n",
|
||
" args.seq_len,\n",
|
||
" args.pred_len,\n",
|
||
" args.d_model,\n",
|
||
" args.n_heads,\n",
|
||
" args.e_layers,\n",
|
||
" args.d_layers,\n",
|
||
" args.d_ff,\n",
|
||
" args.K,\n",
|
||
" args.learning_rate,\n",
|
||
" args.des, ii)\n",
|
||
"\n",
|
||
"# if os.path.exists(os.path.join(args.checkpoints, setting)):\n",
|
||
"# print('skipping exists')\n",
|
||
"# continue\n",
|
||
"\n",
|
||
"exp = Exp(args) # set experiments\n",
|
||
"print('>>>>>>>start training : {}>>>>>>>>>>>>>>>>>>>>>>>>>>'.format(setting))\n",
|
||
"exp.train(setting)\n",
|
||
"\n",
|
||
"print('>>>>>>>testing : {}<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<'.format(setting))\n",
|
||
"exp.test(setting, data='val')\n",
|
||
"exp.test(setting, data='test')\n",
|
||
"\n",
|
||
"torch.cuda.empty_cache()\n"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "e1abba91",
|
||
"metadata": {
|
||
"ExecuteTime": {
|
||
"end_time": "2022-11-28T05:28:20.356399Z",
|
||
"start_time": "2022-11-28T05:28:20.339961Z"
|
||
}
|
||
},
|
||
"source": [
|
||
"# Plot"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 7,
|
||
"id": "0495f56e",
|
||
"metadata": {
|
||
"ExecuteTime": {
|
||
"end_time": "2022-11-28T11:07:52.181496Z",
|
||
"start_time": "2022-11-28T11:07:52.169188Z"
|
||
}
|
||
},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"\"Exchange_ETSformer_custom_ftM2S_sl256_pl12_dm512_nh16_el3_dl3_df2048_K0_lr0.001_'Exp'_0\""
|
||
]
|
||
},
|
||
"execution_count": 7,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"setting"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 8,
|
||
"id": "3e3feeec",
|
||
"metadata": {
|
||
"ExecuteTime": {
|
||
"end_time": "2022-11-28T11:07:52.326810Z",
|
||
"start_time": "2022-11-28T11:07:52.183063Z"
|
||
}
|
||
},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"test 10668\n"
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"ds, dl = exp._get_data('test')"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 9,
|
||
"id": "4630d105",
|
||
"metadata": {
|
||
"ExecuteTime": {
|
||
"end_time": "2022-11-28T11:08:01.458832Z",
|
||
"start_time": "2022-11-28T11:07:52.328094Z"
|
||
}
|
||
},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"test 10668\n",
|
||
"loading model\n"
|
||
]
|
||
},
|
||
{
|
||
"data": {
|
||
"application/vnd.jupyter.widget-view+json": {
|
||
"model_id": "",
|
||
"version_major": 2,
|
||
"version_minor": 0
|
||
},
|
||
"text/plain": [
|
||
" 0%| | 0/333 [00:00<?, ?it/s]"
|
||
]
|
||
},
|
||
"metadata": {},
|
||
"output_type": "display_data"
|
||
},
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"test shape: (333, 32, 12, 1) (333, 32, 12, 1)\n",
|
||
"test shape: (10656, 12, 1) (10656, 12, 1)\n",
|
||
"mse:0.004790135659277439, mae:0.051230162382125854\n"
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"preds, trues = exp.test(setting, data='test')"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 10,
|
||
"id": "ca0660df",
|
||
"metadata": {
|
||
"ExecuteTime": {
|
||
"end_time": "2022-11-28T11:08:01.475975Z",
|
||
"start_time": "2022-11-28T11:08:01.460043Z"
|
||
}
|
||
},
|
||
"outputs": [],
|
||
"source": [
|
||
"%matplotlib inline"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 17,
|
||
"id": "303f36d6",
|
||
"metadata": {
|
||
"ExecuteTime": {
|
||
"end_time": "2022-11-28T11:52:10.925631Z",
|
||
"start_time": "2022-11-28T11:52:10.840065Z"
|
||
}
|
||
},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"<matplotlib.legend.Legend at 0x7f3aa8c88490>"
|
||
]
|
||
},
|
||
"execution_count": 17,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
},
|
||
{
|
||
"data": {
|
||
"image/png": "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\n",
|
||
"text/plain": [
|
||
"<Figure size 640x480 with 1 Axes>"
|
||
]
|
||
},
|
||
"metadata": {},
|
||
"output_type": "display_data"
|
||
}
|
||
],
|
||
"source": [
|
||
"i=190\n",
|
||
"(batch_x, batch_y, batch_x_mark, batch_y_mark) = ds[i]\n",
|
||
"l1 = batch_x.shape[0]\n",
|
||
"l2 = batch_y.shape[0]\n",
|
||
"plt.plot(range(l1), batch_x[:, -1], label='past')\n",
|
||
"plt.plot(range(l1, l1+l2), batch_y[:, -1], color='blue', ls='--', label='true')\n",
|
||
"plt.plot(range(l1, l1+l2), preds[i], label='pred');\n",
|
||
"plt.legend(loc='lower left')"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": null,
|
||
"id": "b86fd6b0",
|
||
"metadata": {
|
||
"ExecuteTime": {
|
||
"end_time": "2022-11-28T07:33:57.703528Z",
|
||
"start_time": "2022-11-28T07:33:57.689258Z"
|
||
}
|
||
},
|
||
"outputs": [],
|
||
"source": []
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "bb766173",
|
||
"metadata": {},
|
||
"source": [
|
||
"# TODO check index"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "49c590e8",
|
||
"metadata": {},
|
||
"source": [
|
||
"- s_end = index + self.seq_len\n",
|
||
"- r_begin = index + self.seq_len - self.label_len\n",
|
||
"- r_end = index + self.seq_len + self.pred_len"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 12,
|
||
"id": "12d58ee7",
|
||
"metadata": {
|
||
"ExecuteTime": {
|
||
"end_time": "2022-11-28T11:08:01.743317Z",
|
||
"start_time": "2022-11-28T11:08:01.597271Z"
|
||
},
|
||
"scrolled": true
|
||
},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/html": [
|
||
"<div>\n",
|
||
"<style scoped>\n",
|
||
" .dataframe tbody tr th:only-of-type {\n",
|
||
" vertical-align: middle;\n",
|
||
" }\n",
|
||
"\n",
|
||
" .dataframe tbody tr th {\n",
|
||
" vertical-align: top;\n",
|
||
" }\n",
|
||
"\n",
|
||
" .dataframe thead th {\n",
|
||
" text-align: right;\n",
|
||
" }\n",
|
||
"</style>\n",
|
||
"<table border=\"1\" class=\"dataframe\">\n",
|
||
" <thead>\n",
|
||
" <tr style=\"text-align: right;\">\n",
|
||
" <th></th>\n",
|
||
" <th>close</th>\n",
|
||
" <th>ref_close</th>\n",
|
||
" <th>sec_close</th>\n",
|
||
" <th>RVOLs_50_12_2ref_2ref</th>\n",
|
||
" <th>MACDVs_3_10_9_2ref_2ref</th>\n",
|
||
" <th>MACDVs_8_24_9_2ref_2ref</th>\n",
|
||
" <th>RRVOLs_50_12_2ref_2ref</th>\n",
|
||
" <th>RSMKs_3_24_12_2ref_2ref</th>\n",
|
||
" <th>RSMKs_128_8_4_2ref_2ref</th>\n",
|
||
" <th>RRSs_12_12_12_2ref_2ref</th>\n",
|
||
" <th>VRRSs_5_21_12_2ref_2ref</th>\n",
|
||
" <th>RSMKs_18_144_72_2ref_2ref</th>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>date</th>\n",
|
||
" <th></th>\n",
|
||
" <th></th>\n",
|
||
" <th></th>\n",
|
||
" <th></th>\n",
|
||
" <th></th>\n",
|
||
" <th></th>\n",
|
||
" <th></th>\n",
|
||
" <th></th>\n",
|
||
" <th></th>\n",
|
||
" <th></th>\n",
|
||
" <th></th>\n",
|
||
" <th></th>\n",
|
||
" </tr>\n",
|
||
" </thead>\n",
|
||
" <tbody>\n",
|
||
" <tr>\n",
|
||
" <th>2019-01-02 07:00:00</th>\n",
|
||
" <td>60.7500</td>\n",
|
||
" <td>246.3900</td>\n",
|
||
" <td>56.70</td>\n",
|
||
" <td>0.634561</td>\n",
|
||
" <td>0.228822</td>\n",
|
||
" <td>0.749770</td>\n",
|
||
" <td>-0.081572</td>\n",
|
||
" <td>0.754948</td>\n",
|
||
" <td>0.041974</td>\n",
|
||
" <td>0.452882</td>\n",
|
||
" <td>0.094300</td>\n",
|
||
" <td>-0.141763</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2019-01-02 09:30:00</th>\n",
|
||
" <td>60.2000</td>\n",
|
||
" <td>246.3000</td>\n",
|
||
" <td>56.30</td>\n",
|
||
" <td>0.619485</td>\n",
|
||
" <td>-0.138271</td>\n",
|
||
" <td>0.516611</td>\n",
|
||
" <td>-0.159545</td>\n",
|
||
" <td>0.690752</td>\n",
|
||
" <td>0.037310</td>\n",
|
||
" <td>0.201226</td>\n",
|
||
" <td>-0.050731</td>\n",
|
||
" <td>-0.127774</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2019-01-02 09:35:00</th>\n",
|
||
" <td>59.8500</td>\n",
|
||
" <td>246.5200</td>\n",
|
||
" <td>56.36</td>\n",
|
||
" <td>0.689500</td>\n",
|
||
" <td>-0.535564</td>\n",
|
||
" <td>0.191501</td>\n",
|
||
" <td>-0.104752</td>\n",
|
||
" <td>0.553376</td>\n",
|
||
" <td>0.027199</td>\n",
|
||
" <td>-0.217425</td>\n",
|
||
" <td>-0.069932</td>\n",
|
||
" <td>-0.117113</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2019-01-02 09:40:00</th>\n",
|
||
" <td>60.0600</td>\n",
|
||
" <td>246.9001</td>\n",
|
||
" <td>56.70</td>\n",
|
||
" <td>0.746596</td>\n",
|
||
" <td>-0.803242</td>\n",
|
||
" <td>-0.130051</td>\n",
|
||
" <td>-0.070761</td>\n",
|
||
" <td>0.402911</td>\n",
|
||
" <td>0.015511</td>\n",
|
||
" <td>-0.473000</td>\n",
|
||
" <td>-0.089949</td>\n",
|
||
" <td>-0.109966</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2019-01-02 09:45:00</th>\n",
|
||
" <td>60.2350</td>\n",
|
||
" <td>247.1400</td>\n",
|
||
" <td>56.69</td>\n",
|
||
" <td>0.701637</td>\n",
|
||
" <td>-0.936439</td>\n",
|
||
" <td>-0.409001</td>\n",
|
||
" <td>-0.130581</td>\n",
|
||
" <td>0.263664</td>\n",
|
||
" <td>0.003868</td>\n",
|
||
" <td>-0.679096</td>\n",
|
||
" <td>-0.096488</td>\n",
|
||
" <td>-0.105561</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>...</th>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2020-12-31 17:35:00</th>\n",
|
||
" <td>17.3300</td>\n",
|
||
" <td>374.2100</td>\n",
|
||
" <td>37.90</td>\n",
|
||
" <td>0.706492</td>\n",
|
||
" <td>-0.129955</td>\n",
|
||
" <td>-0.551704</td>\n",
|
||
" <td>0.197178</td>\n",
|
||
" <td>-0.842459</td>\n",
|
||
" <td>-0.216290</td>\n",
|
||
" <td>-3.579407</td>\n",
|
||
" <td>-0.088556</td>\n",
|
||
" <td>-1.118991</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2020-12-31 18:30:00</th>\n",
|
||
" <td>17.3200</td>\n",
|
||
" <td>374.4000</td>\n",
|
||
" <td>37.96</td>\n",
|
||
" <td>0.615936</td>\n",
|
||
" <td>-0.147461</td>\n",
|
||
" <td>-0.538942</td>\n",
|
||
" <td>0.174563</td>\n",
|
||
" <td>-0.803874</td>\n",
|
||
" <td>-0.213881</td>\n",
|
||
" <td>-3.258388</td>\n",
|
||
" <td>-0.075389</td>\n",
|
||
" <td>-1.179880</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2020-12-31 19:15:00</th>\n",
|
||
" <td>17.3600</td>\n",
|
||
" <td>374.3900</td>\n",
|
||
" <td>37.95</td>\n",
|
||
" <td>0.605291</td>\n",
|
||
" <td>-0.105155</td>\n",
|
||
" <td>-0.508192</td>\n",
|
||
" <td>0.226633</td>\n",
|
||
" <td>-0.756699</td>\n",
|
||
" <td>-0.210656</td>\n",
|
||
" <td>-2.735903</td>\n",
|
||
" <td>-0.063731</td>\n",
|
||
" <td>-1.239256</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2020-12-31 19:20:00</th>\n",
|
||
" <td>17.3501</td>\n",
|
||
" <td>374.3900</td>\n",
|
||
" <td>37.95</td>\n",
|
||
" <td>0.592393</td>\n",
|
||
" <td>-0.065321</td>\n",
|
||
" <td>-0.475375</td>\n",
|
||
" <td>0.268617</td>\n",
|
||
" <td>-0.720279</td>\n",
|
||
" <td>-0.207647</td>\n",
|
||
" <td>-2.416748</td>\n",
|
||
" <td>-0.053941</td>\n",
|
||
" <td>-1.297199</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2020-12-31 19:55:00</th>\n",
|
||
" <td>17.4000</td>\n",
|
||
" <td>374.3900</td>\n",
|
||
" <td>37.95</td>\n",
|
||
" <td>0.504877</td>\n",
|
||
" <td>0.054870</td>\n",
|
||
" <td>-0.408612</td>\n",
|
||
" <td>0.198019</td>\n",
|
||
" <td>-0.664792</td>\n",
|
||
" <td>-0.201618</td>\n",
|
||
" <td>-2.009522</td>\n",
|
||
" <td>-0.045287</td>\n",
|
||
" <td>-1.352772</td>\n",
|
||
" </tr>\n",
|
||
" </tbody>\n",
|
||
"</table>\n",
|
||
"<p>53398 rows × 12 columns</p>\n",
|
||
"</div>"
|
||
],
|
||
"text/plain": [
|
||
" close ref_close sec_close RVOLs_50_12_2ref_2ref \\\n",
|
||
"date \n",
|
||
"2019-01-02 07:00:00 60.7500 246.3900 56.70 0.634561 \n",
|
||
"2019-01-02 09:30:00 60.2000 246.3000 56.30 0.619485 \n",
|
||
"2019-01-02 09:35:00 59.8500 246.5200 56.36 0.689500 \n",
|
||
"2019-01-02 09:40:00 60.0600 246.9001 56.70 0.746596 \n",
|
||
"2019-01-02 09:45:00 60.2350 247.1400 56.69 0.701637 \n",
|
||
"... ... ... ... ... \n",
|
||
"2020-12-31 17:35:00 17.3300 374.2100 37.90 0.706492 \n",
|
||
"2020-12-31 18:30:00 17.3200 374.4000 37.96 0.615936 \n",
|
||
"2020-12-31 19:15:00 17.3600 374.3900 37.95 0.605291 \n",
|
||
"2020-12-31 19:20:00 17.3501 374.3900 37.95 0.592393 \n",
|
||
"2020-12-31 19:55:00 17.4000 374.3900 37.95 0.504877 \n",
|
||
"\n",
|
||
" MACDVs_3_10_9_2ref_2ref MACDVs_8_24_9_2ref_2ref \\\n",
|
||
"date \n",
|
||
"2019-01-02 07:00:00 0.228822 0.749770 \n",
|
||
"2019-01-02 09:30:00 -0.138271 0.516611 \n",
|
||
"2019-01-02 09:35:00 -0.535564 0.191501 \n",
|
||
"2019-01-02 09:40:00 -0.803242 -0.130051 \n",
|
||
"2019-01-02 09:45:00 -0.936439 -0.409001 \n",
|
||
"... ... ... \n",
|
||
"2020-12-31 17:35:00 -0.129955 -0.551704 \n",
|
||
"2020-12-31 18:30:00 -0.147461 -0.538942 \n",
|
||
"2020-12-31 19:15:00 -0.105155 -0.508192 \n",
|
||
"2020-12-31 19:20:00 -0.065321 -0.475375 \n",
|
||
"2020-12-31 19:55:00 0.054870 -0.408612 \n",
|
||
"\n",
|
||
" RRVOLs_50_12_2ref_2ref RSMKs_3_24_12_2ref_2ref \\\n",
|
||
"date \n",
|
||
"2019-01-02 07:00:00 -0.081572 0.754948 \n",
|
||
"2019-01-02 09:30:00 -0.159545 0.690752 \n",
|
||
"2019-01-02 09:35:00 -0.104752 0.553376 \n",
|
||
"2019-01-02 09:40:00 -0.070761 0.402911 \n",
|
||
"2019-01-02 09:45:00 -0.130581 0.263664 \n",
|
||
"... ... ... \n",
|
||
"2020-12-31 17:35:00 0.197178 -0.842459 \n",
|
||
"2020-12-31 18:30:00 0.174563 -0.803874 \n",
|
||
"2020-12-31 19:15:00 0.226633 -0.756699 \n",
|
||
"2020-12-31 19:20:00 0.268617 -0.720279 \n",
|
||
"2020-12-31 19:55:00 0.198019 -0.664792 \n",
|
||
"\n",
|
||
" RSMKs_128_8_4_2ref_2ref RRSs_12_12_12_2ref_2ref \\\n",
|
||
"date \n",
|
||
"2019-01-02 07:00:00 0.041974 0.452882 \n",
|
||
"2019-01-02 09:30:00 0.037310 0.201226 \n",
|
||
"2019-01-02 09:35:00 0.027199 -0.217425 \n",
|
||
"2019-01-02 09:40:00 0.015511 -0.473000 \n",
|
||
"2019-01-02 09:45:00 0.003868 -0.679096 \n",
|
||
"... ... ... \n",
|
||
"2020-12-31 17:35:00 -0.216290 -3.579407 \n",
|
||
"2020-12-31 18:30:00 -0.213881 -3.258388 \n",
|
||
"2020-12-31 19:15:00 -0.210656 -2.735903 \n",
|
||
"2020-12-31 19:20:00 -0.207647 -2.416748 \n",
|
||
"2020-12-31 19:55:00 -0.201618 -2.009522 \n",
|
||
"\n",
|
||
" VRRSs_5_21_12_2ref_2ref RSMKs_18_144_72_2ref_2ref \n",
|
||
"date \n",
|
||
"2019-01-02 07:00:00 0.094300 -0.141763 \n",
|
||
"2019-01-02 09:30:00 -0.050731 -0.127774 \n",
|
||
"2019-01-02 09:35:00 -0.069932 -0.117113 \n",
|
||
"2019-01-02 09:40:00 -0.089949 -0.109966 \n",
|
||
"2019-01-02 09:45:00 -0.096488 -0.105561 \n",
|
||
"... ... ... \n",
|
||
"2020-12-31 17:35:00 -0.088556 -1.118991 \n",
|
||
"2020-12-31 18:30:00 -0.075389 -1.179880 \n",
|
||
"2020-12-31 19:15:00 -0.063731 -1.239256 \n",
|
||
"2020-12-31 19:20:00 -0.053941 -1.297199 \n",
|
||
"2020-12-31 19:55:00 -0.045287 -1.352772 \n",
|
||
"\n",
|
||
"[53398 rows x 12 columns]"
|
||
]
|
||
},
|
||
"execution_count": 12,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"f = ds.root_path + '/' + ds.data_path\n",
|
||
"df = pd.read_csv(f).set_index('date', drop=False)\n",
|
||
"df = df[ds.cols[1:]]\n",
|
||
"# df[:] = ds.scaler.transform(df.values)\n",
|
||
"df\n",
|
||
"# df"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 13,
|
||
"id": "1459473b",
|
||
"metadata": {
|
||
"ExecuteTime": {
|
||
"end_time": "2022-11-28T11:08:01.889732Z",
|
||
"start_time": "2022-11-28T11:08:01.744889Z"
|
||
}
|
||
},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"array([ 1.24250000e+01, 3.54330000e+02, 3.52700000e+01, 6.24194744e-01,\n",
|
||
" -1.20630267e-01, 4.64484086e-01, -3.96678363e-01, 1.04169477e+00,\n",
|
||
" -2.88024043e-02, -4.61072831e-01, -9.81798622e-03, -3.57276350e+00])"
|
||
]
|
||
},
|
||
"execution_count": 13,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"from data_provider.data_loader import Dataset_Custom\n",
|
||
"ds2 = Dataset_Custom(\n",
|
||
" ds.root_path,\n",
|
||
" flag=\"test\",\n",
|
||
"# size=ds.size,\n",
|
||
" size=[ds.seq_len, ds.label_len, ds.pred_len],\n",
|
||
" features=ds.features,\n",
|
||
" data_path=ds.data_path,\n",
|
||
" target=ds.target,\n",
|
||
" scale=False,\n",
|
||
" timeenc=ds.timeenc,\n",
|
||
" freq=ds.freq\n",
|
||
")\n",
|
||
"\n",
|
||
"i=99\n",
|
||
"(batch_x, batch_y, batch_x_mark, batch_y_mark) = ds2[i]\n",
|
||
"batch_x[-1]"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 14,
|
||
"id": "c443acdd",
|
||
"metadata": {
|
||
"ExecuteTime": {
|
||
"end_time": "2022-11-28T11:08:01.914709Z",
|
||
"start_time": "2022-11-28T11:08:01.890955Z"
|
||
}
|
||
},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"close 12.425000\n",
|
||
"ref_close 354.330000\n",
|
||
"sec_close 35.270000\n",
|
||
"RVOLs_50_12_2ref_2ref 0.624195\n",
|
||
"MACDVs_3_10_9_2ref_2ref -0.120630\n",
|
||
"MACDVs_8_24_9_2ref_2ref 0.464484\n",
|
||
"RRVOLs_50_12_2ref_2ref -0.396678\n",
|
||
"RSMKs_3_24_12_2ref_2ref 1.041695\n",
|
||
"RSMKs_128_8_4_2ref_2ref -0.028802\n",
|
||
"RRSs_12_12_12_2ref_2ref -0.461073\n",
|
||
"VRRSs_5_21_12_2ref_2ref -0.009818\n",
|
||
"RSMKs_18_144_72_2ref_2ref -3.572763\n",
|
||
"Name: 2020-09-02 11:20:00, dtype: float64"
|
||
]
|
||
},
|
||
"execution_count": 14,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"dt = ds2.index.iloc[i-1]\n",
|
||
"df.loc[dt]"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 15,
|
||
"id": "c34d925b",
|
||
"metadata": {
|
||
"ExecuteTime": {
|
||
"end_time": "2022-11-28T11:08:01.938923Z",
|
||
"start_time": "2022-11-28T11:08:01.915802Z"
|
||
}
|
||
},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"'OK'"
|
||
]
|
||
},
|
||
"execution_count": 15,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"assert df.loc[dt].close == batch_x[-1, 0], 'index should be right'\n",
|
||
"'OK'"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": null,
|
||
"id": "a1bbd05b",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": []
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": null,
|
||
"id": "d99af325",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": []
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": null,
|
||
"id": "234c99f3",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": []
|
||
}
|
||
],
|
||
"metadata": {
|
||
"kernelspec": {
|
||
"display_name": "deeptime",
|
||
"language": "python",
|
||
"name": "deeptime"
|
||
},
|
||
"language_info": {
|
||
"codemirror_mode": {
|
||
"name": "ipython",
|
||
"version": 3
|
||
},
|
||
"file_extension": ".py",
|
||
"mimetype": "text/x-python",
|
||
"name": "python",
|
||
"nbconvert_exporter": "python",
|
||
"pygments_lexer": "ipython3",
|
||
"version": "3.8.13"
|
||
},
|
||
"toc": {
|
||
"base_numbering": 1,
|
||
"nav_menu": {},
|
||
"number_sections": true,
|
||
"sideBar": true,
|
||
"skip_h1_title": false,
|
||
"title_cell": "Table of Contents",
|
||
"title_sidebar": "Contents",
|
||
"toc_cell": false,
|
||
"toc_position": {},
|
||
"toc_section_display": true,
|
||
"toc_window_display": false
|
||
}
|
||
},
|
||
"nbformat": 4,
|
||
"nbformat_minor": 5
|
||
}
|