├── introduction ├── Intro_to_RL_for_Trading_harmonic_functions.ipynb └── readme.md └── odsc_workshop ├── ODSC_RL_1.ipynb ├── ODSC_RL_2.ipynb ├── ODSC_RL_3.ipynb ├── RL in Finance.pdf └── readme.md /introduction/Intro_to_RL_for_Trading_harmonic_functions.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "nbformat": 4, 3 | "nbformat_minor": 0, 4 | "metadata": { 5 | "colab": { 6 | "name": "Intro to RL for Trading: harmonic functions.ipynb", 7 | "provenance": [], 8 | "collapsed_sections": [] 9 | }, 10 | "kernelspec": { 11 | "name": "python3", 12 | "display_name": "Python 3" 13 | }, 14 | "language_info": { 15 | "name": "python" 16 | }, 17 | "accelerator": "GPU" 18 | }, 19 | "cells": [ 20 | { 21 | "cell_type": "code", 22 | "metadata": { 23 | "id": "HjUmgGL28VkP" 24 | }, 25 | "source": [ 26 | "import numpy as np\n", 27 | "import pandas as pd\n", 28 | "from matplotlib import pyplot as plt" 29 | ], 30 | "execution_count": 2, 31 | "outputs": [] 32 | }, 33 | { 34 | "cell_type": "code", 35 | "metadata": { 36 | "id": "PgYTJF7FOeyI" 37 | }, 38 | "source": [ 39 | "import tensorflow as tf\n", 40 | "import tensorflow.keras as tfk" 41 | ], 42 | "execution_count": 3, 43 | "outputs": [] 44 | }, 45 | { 46 | "cell_type": "markdown", 47 | "metadata": { 48 | "id": "IhO6h_Uc__Wi" 49 | }, 50 | "source": [ 51 | "# Environment" 52 | ] 53 | }, 54 | { 55 | "cell_type": "code", 56 | "metadata": { 57 | "id": "sN_kNTX-AZ2A" 58 | }, 59 | "source": [ 60 | "class Environment:\n", 61 | " '''\n", 62 | " Simple environment\n", 63 | " '''\n", 64 | " def __init__(self, length = 100, normalize = True, noise = True, data = []):\n", 65 | " self.length = length\n", 66 | "\n", 67 | " if len(data) == 0:\n", 68 | " # self.data = -pd.DataFrame(np.arange(self.length))\n", 69 | " self.data = pd.DataFrame(np.sin(np.arange(length)/30.0))\n", 70 | " else:\n", 71 | " self.data = data\n", 72 | "\n", 73 | " if noise:\n", 74 | " self.data += pd.DataFrame(np.random.normal(0, 0.1, size=(length, )))\n", 75 | "\n", 76 | " if normalize:\n", 77 | " self.data = (self.data - self.data.min()) / (self.data.max() - self.data.min())\n", 78 | "\n", 79 | " def get_state(self, time, lookback, diff = True):\n", 80 | " window = self.data.iloc[time-lookback:time]\n", 81 | " if diff: window = window.diff().fillna(0.0)\n", 82 | " return window\n", 83 | "\n", 84 | " def get_reward(self, action, action_time, reward_time, coef = 100):\n", 85 | " # 0 => long; 1 => hold, 2 => short\n", 86 | " if action == 0:\n", 87 | " action = 1\n", 88 | " elif action == 1:\n", 89 | " action = 0\n", 90 | " else:\n", 91 | " action = -1\n", 92 | " price_now = self.data.iloc[action_time]\n", 93 | " price_reward = self.data.iloc[reward_time]\n", 94 | " price_diff = (price_reward - price_now) / price_now\n", 95 | " reward = np.sign(price_diff) * action * coef\n", 96 | "\n", 97 | " return reward.values.tolist()[0]" 98 | ], 99 | "execution_count": 5, 100 | "outputs": [] 101 | }, 102 | { 103 | "cell_type": "code", 104 | "metadata": { 105 | "id": "zrbu-JaeKu1V" 106 | }, 107 | "source": [ 108 | "lin_env = Environment()" 109 | ], 110 | "execution_count": 6, 111 | "outputs": [] 112 | }, 113 | { 114 | "cell_type": "code", 115 | "metadata": { 116 | "colab": { 117 | "base_uri": "https://localhost:8080/", 118 | "height": 204 119 | }, 120 | "id": "3tOp5fKwKxOW", 121 | "outputId": "a3bb3a15-f9f1-40b6-da1f-4240ed8c89b9" 122 | }, 123 | "source": [ 124 | "lin_env.get_state(10, 5, True)" 125 | ], 126 | "execution_count": 7, 127 | "outputs": [ 128 | { 129 | "output_type": "execute_result", 130 | "data": { 131 | "text/html": [ 132 | "
\n", 133 | "\n", 146 | "\n", 147 | " \n", 148 | " \n", 149 | " \n", 150 | " \n", 151 | " \n", 152 | " \n", 153 | " \n", 154 | " \n", 155 | " \n", 156 | " \n", 157 | " \n", 158 | " \n", 159 | " \n", 160 | " \n", 161 | " \n", 162 | " \n", 163 | " \n", 164 | " \n", 165 | " \n", 166 | " \n", 167 | " \n", 168 | " \n", 169 | " \n", 170 | " \n", 171 | " \n", 172 | " \n", 173 | " \n", 174 | " \n", 175 | "
0
50.000000
6-0.053434
70.159560
8-0.069024
90.098430
\n", 176 | "
" 177 | ], 178 | "text/plain": [ 179 | " 0\n", 180 | "5 0.000000\n", 181 | "6 -0.053434\n", 182 | "7 0.159560\n", 183 | "8 -0.069024\n", 184 | "9 0.098430" 185 | ] 186 | }, 187 | "metadata": { 188 | "tags": [] 189 | }, 190 | "execution_count": 7 191 | } 192 | ] 193 | }, 194 | { 195 | "cell_type": "code", 196 | "metadata": { 197 | "colab": { 198 | "base_uri": "https://localhost:8080/", 199 | "height": 265 200 | }, 201 | "id": "T1ielGYotO3-", 202 | "outputId": "03b3917e-517b-4353-b277-8248a03fb831" 203 | }, 204 | "source": [ 205 | "plt.figure()\n", 206 | "plt.plot(lin_env.data)\n", 207 | "plt.show()" 208 | ], 209 | "execution_count": 8, 210 | "outputs": [ 211 | { 212 | "output_type": "display_data", 213 | "data": { 214 | "image/png": "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\n", 215 | "text/plain": [ 216 | "
" 217 | ] 218 | }, 219 | "metadata": { 220 | "tags": [], 221 | "needs_background": "light" 222 | } 223 | } 224 | ] 225 | }, 226 | { 227 | "cell_type": "code", 228 | "metadata": { 229 | "colab": { 230 | "base_uri": "https://localhost:8080/" 231 | }, 232 | "id": "R4CO7W5HLSb3", 233 | "outputId": "cfbe5661-0e3a-4f3d-b9fc-2eeb00570830" 234 | }, 235 | "source": [ 236 | "lin_env.get_reward(0, 50, 51)" 237 | ], 238 | "execution_count": 9, 239 | "outputs": [ 240 | { 241 | "output_type": "execute_result", 242 | "data": { 243 | "text/plain": [ 244 | "-100.0" 245 | ] 246 | }, 247 | "metadata": { 248 | "tags": [] 249 | }, 250 | "execution_count": 9 251 | } 252 | ] 253 | }, 254 | { 255 | "cell_type": "markdown", 256 | "metadata": { 257 | "id": "ch-OHZBzAlgH" 258 | }, 259 | "source": [ 260 | "# Agent" 261 | ] 262 | }, 263 | { 264 | "cell_type": "code", 265 | "metadata": { 266 | "id": "rJQnbrkIhISN" 267 | }, 268 | "source": [ 269 | "import collections" 270 | ], 271 | "execution_count": 10, 272 | "outputs": [] 273 | }, 274 | { 275 | "cell_type": "code", 276 | "metadata": { 277 | "id": "bzCQw17UAmRH" 278 | }, 279 | "source": [ 280 | "class BuyHoldSellAgent:\n", 281 | " '''\n", 282 | " A simple agent\n", 283 | " '''\n", 284 | " def __init__(self, state_shape = 10, action_shape = 3, experience_size = 100):\n", 285 | " self.state_shape = state_shape\n", 286 | " self.action_shape = action_shape\n", 287 | " self.experience_size = experience_size\n", 288 | " self.model = self.init_model()\n", 289 | " self.experience = collections.deque(maxlen=self.experience_size)\n", 290 | "\n", 291 | " def init_model(self):\n", 292 | " inputs = tfk.Input(shape=(self.state_shape,))\n", 293 | " x = tfk.layers.Dense(10, activation='relu')(inputs)\n", 294 | " outputs = tfk.layers.Dense(self.action_shape, activation='linear')(x)\n", 295 | " model = tfk.Model(inputs=inputs, outputs=outputs)\n", 296 | " model.compile(optimizer=tfk.optimizers.Adam(0.1), loss='mse', metrics='mse')\n", 297 | " return model\n", 298 | "\n", 299 | " def save_experience(self, state_i, q_value_i, action_i, reward_i, state_i_1):\n", 300 | " self.experience.append({\n", 301 | " 'state_i': state_i,\n", 302 | " 'q_value_i': q_value_i,\n", 303 | " 'action_i': action_i,\n", 304 | " 'reward_i': reward_i,\n", 305 | " 'state_i_1': state_i_1\n", 306 | " })\n", 307 | "\n", 308 | " def replay_experience(self, alpha, gamma, sample_size):\n", 309 | " X, Y = [], []\n", 310 | " indices_sampled = np.random.choice(len(self.experience), sample_size, replace=False)\n", 311 | " for i, e in enumerate(self.experience):\n", 312 | " if i in indices_sampled:\n", 313 | " state_i, action_i, reward_i, q_value_i = e['state_i'], e['action_i'], e['reward_i'], e['q_value_i']\n", 314 | " state_i_1 = e['state_i_1']\n", 315 | " q_value_i_1 = self.model.predict(np.expand_dims(state_i_1, 0))[0]\n", 316 | " y_i = np.zeros(self.action_shape)\n", 317 | " y_i[:] = q_value_i[:]\n", 318 | " y_i[action_i] = (1 - alpha) * y_i[action_i] + alpha * (reward_i + gamma * max(q_value_i_1))\n", 319 | " X.append(state_i)\n", 320 | " Y.append(y_i)\n", 321 | " X, Y = np.array(X), np.array(Y)\n", 322 | " self.model.fit(X, Y, epochs=1, batch_size=sample_size, verbose=0)\n", 323 | "\n", 324 | " def get_value_action_value(self, state):\n", 325 | " pred = self.model.predict(np.expand_dims(state, 0))\n", 326 | " return pred.flatten()" 327 | ], 328 | "execution_count": 11, 329 | "outputs": [] 330 | }, 331 | { 332 | "cell_type": "code", 333 | "metadata": { 334 | "id": "oS3vaStaRceW" 335 | }, 336 | "source": [ 337 | "agent = BuyHoldSellAgent()" 338 | ], 339 | "execution_count": 12, 340 | "outputs": [] 341 | }, 342 | { 343 | "cell_type": "code", 344 | "metadata": { 345 | "colab": { 346 | "base_uri": "https://localhost:8080/" 347 | }, 348 | "id": "7XUeMMlXRgiu", 349 | "outputId": "c6d5993d-bd39-4922-b078-4240a47235db" 350 | }, 351 | "source": [ 352 | "agent.get_value_action_value(\n", 353 | " pd.DataFrame(np.array(range(10)))\n", 354 | ")" 355 | ], 356 | "execution_count": 13, 357 | "outputs": [ 358 | { 359 | "output_type": "execute_result", 360 | "data": { 361 | "text/plain": [ 362 | "array([-4.0043335, -8.288243 , 1.1698928], dtype=float32)" 363 | ] 364 | }, 365 | "metadata": { 366 | "tags": [] 367 | }, 368 | "execution_count": 13 369 | } 370 | ] 371 | }, 372 | { 373 | "cell_type": "markdown", 374 | "metadata": { 375 | "id": "9OMdkUloYZ1B" 376 | }, 377 | "source": [ 378 | "# Training" 379 | ] 380 | }, 381 | { 382 | "cell_type": "code", 383 | "metadata": { 384 | "id": "kru4HB2XYaeg" 385 | }, 386 | "source": [ 387 | "epochs = 5\n", 388 | "gamma = 0.9\n", 389 | "epsilon = 0.95\n", 390 | "alpha = 0.9" 391 | ], 392 | "execution_count": 14, 393 | "outputs": [] 394 | }, 395 | { 396 | "cell_type": "code", 397 | "metadata": { 398 | "id": "nd9X3rnAami_" 399 | }, 400 | "source": [ 401 | "DATASET_LENGTH = 250\n", 402 | "WINDOW_SHAPE = 5\n", 403 | "REWARD_TIME = 1\n", 404 | "ACTIONS_SHAPE = 3\n", 405 | "SAMPLE_SIZE = 16" 406 | ], 407 | "execution_count": 15, 408 | "outputs": [] 409 | }, 410 | { 411 | "cell_type": "code", 412 | "metadata": { 413 | "id": "vSzO9afGbVxb" 414 | }, 415 | "source": [ 416 | "environment = Environment(DATASET_LENGTH, True, False)\n", 417 | "agent = BuyHoldSellAgent(WINDOW_SHAPE, ACTIONS_SHAPE)" 418 | ], 419 | "execution_count": 16, 420 | "outputs": [] 421 | }, 422 | { 423 | "cell_type": "code", 424 | "metadata": { 425 | "colab": { 426 | "base_uri": "https://localhost:8080/" 427 | }, 428 | "id": "31uD9MugAopP", 429 | "outputId": "2e36e1ae-f66e-474b-92d6-b7162add566b" 430 | }, 431 | "source": [ 432 | "for i in range(epochs):\n", 433 | "\n", 434 | " learning_progress = []\n", 435 | " for j in range(WINDOW_SHAPE, DATASET_LENGTH - REWARD_TIME, REWARD_TIME): \n", 436 | "\n", 437 | " # 1. getting current state\n", 438 | " state_j = environment.get_state(j, WINDOW_SHAPE)\n", 439 | " q_value_j = agent.get_value_action_value(state_j)\n", 440 | "\n", 441 | " # 2. acting in this state\n", 442 | " if (np.random.random() < epsilon):\n", 443 | " action = np.random.randint(0, ACTIONS_SHAPE)\n", 444 | " else:\n", 445 | " action = (np.argmax(q_value_j)) \n", 446 | "\n", 447 | " # 3. getting reward from this action\n", 448 | " reward_value_j = environment.get_reward(action, j, j+REWARD_TIME)\n", 449 | " learning_progress.append(reward_value_j)\n", 450 | "\n", 451 | " # 4. getting next state and value there\n", 452 | " state_j_1 = environment.get_state(j+1, WINDOW_SHAPE)\n", 453 | "\n", 454 | " # 5. save this experience\n", 455 | " agent.save_experience(state_j, q_value_j, action, reward_value_j, state_j_1)\n", 456 | "\n", 457 | " if j > SAMPLE_SIZE * 2:\n", 458 | " # 6. train on samples from experience\n", 459 | " agent.replay_experience(alpha, gamma, SAMPLE_SIZE)\n", 460 | "\n", 461 | " if epsilon > 0.1:\n", 462 | " epsilon -= (1.0/epochs)\n", 463 | "\n", 464 | " print('Epoch', i, '...', np.mean(learning_progress))\n", 465 | " learning_progress = []" 466 | ], 467 | "execution_count": 17, 468 | "outputs": [ 469 | { 470 | "output_type": "stream", 471 | "text": [ 472 | "Epoch 0 ... -0.4098360655737705\n", 473 | "Epoch 1 ... 22.540983606557376\n", 474 | "Epoch 2 ... 44.67213114754098\n", 475 | "Epoch 3 ... 56.14754098360656\n", 476 | "Epoch 4 ... 80.73770491803279\n" 477 | ], 478 | "name": "stdout" 479 | } 480 | ] 481 | }, 482 | { 483 | "cell_type": "markdown", 484 | "metadata": { 485 | "id": "ptLqbYzMDYMd" 486 | }, 487 | "source": [ 488 | "# Evaluation" 489 | ] 490 | }, 491 | { 492 | "cell_type": "code", 493 | "metadata": { 494 | "id": "MtgNyS5l0apF" 495 | }, 496 | "source": [ 497 | "action_to_backtest_action = {\n", 498 | " 0: 1,\n", 499 | " 1: 0,\n", 500 | " 2: -1\n", 501 | "}" 502 | ], 503 | "execution_count": 18, 504 | "outputs": [] 505 | }, 506 | { 507 | "cell_type": "markdown", 508 | "metadata": { 509 | "id": "WQ6rwYG6vDaD" 510 | }, 511 | "source": [ 512 | "### Same dataset" 513 | ] 514 | }, 515 | { 516 | "cell_type": "code", 517 | "metadata": { 518 | "id": "YKU03wEYDZaK" 519 | }, 520 | "source": [ 521 | "actions = []\n", 522 | "for j in range(WINDOW_SHAPE, DATASET_LENGTH, REWARD_TIME): \n", 523 | " state_j = environment.get_state(j, WINDOW_SHAPE)\n", 524 | " q_value_j = agent.get_value_action_value(state_j)\n", 525 | " actions.append(action_to_backtest_action[np.argmax(q_value_j)])" 526 | ], 527 | "execution_count": 19, 528 | "outputs": [] 529 | }, 530 | { 531 | "cell_type": "code", 532 | "metadata": { 533 | "id": "ydfzppX4DwT4", 534 | "colab": { 535 | "base_uri": "https://localhost:8080/", 536 | "height": 320 537 | }, 538 | "outputId": "e99ff98a-8bd2-4305-fcd0-600bd9087518" 539 | }, 540 | "source": [ 541 | "plt.figure(figsize = (15, 5))\n", 542 | "plt.plot(environment.data)\n", 543 | "for e, a in enumerate(actions):\n", 544 | " e += WINDOW_SHAPE\n", 545 | " if a == 1:\n", 546 | " plt.scatter(e, environment.data.iloc[e], color = 'green')\n", 547 | " elif a == -1:\n", 548 | " plt.scatter(e, environment.data.iloc[e], color = 'red')\n", 549 | " else:\n", 550 | " pass\n", 551 | "plt.show()" 552 | ], 553 | "execution_count": 20, 554 | "outputs": [ 555 | { 556 | "output_type": "display_data", 557 | "data": { 558 | "image/png": "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\n", 559 | "text/plain": [ 560 | "
" 561 | ] 562 | }, 563 | "metadata": { 564 | "tags": [], 565 | "needs_background": "light" 566 | } 567 | } 568 | ] 569 | }, 570 | { 571 | "cell_type": "code", 572 | "metadata": { 573 | "id": "hDHWBMBWzX4G", 574 | "colab": { 575 | "base_uri": "https://localhost:8080/", 576 | "height": 282 577 | }, 578 | "outputId": "98580eb0-c7c3-4155-dabd-9b9de46d45cb" 579 | }, 580 | "source": [ 581 | "backtest = pd.DataFrame({\n", 582 | " 'price': environment.data.values.flatten(),\n", 583 | " 'signal': [0] * WINDOW_SHAPE + actions\n", 584 | "})\n", 585 | "backtest['price_diff'] = backtest['price'].diff().shift(-1)\n", 586 | "(backtest['price_diff'] * backtest['signal']).cumsum().plot()" 587 | ], 588 | "execution_count": 21, 589 | "outputs": [ 590 | { 591 | "output_type": "execute_result", 592 | "data": { 593 | "text/plain": [ 594 | "" 595 | ] 596 | }, 597 | "metadata": { 598 | "tags": [] 599 | }, 600 | "execution_count": 21 601 | }, 602 | { 603 | "output_type": "display_data", 604 | "data": { 605 | "image/png": "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\n", 606 | "text/plain": [ 607 | "
" 608 | ] 609 | }, 610 | "metadata": { 611 | "tags": [], 612 | "needs_background": "light" 613 | } 614 | } 615 | ] 616 | }, 617 | { 618 | "cell_type": "markdown", 619 | "metadata": { 620 | "id": "rGydYxUFvFhe" 621 | }, 622 | "source": [ 623 | "### Noisy dataset" 624 | ] 625 | }, 626 | { 627 | "cell_type": "code", 628 | "metadata": { 629 | "id": "LPw2wDT_hcCJ" 630 | }, 631 | "source": [ 632 | "environment2 = Environment(DATASET_LENGTH, True, True)\n", 633 | "actions = []\n", 634 | "for j in range(WINDOW_SHAPE, DATASET_LENGTH, REWARD_TIME): \n", 635 | " state_j = environment2.get_state(j, WINDOW_SHAPE)\n", 636 | " q_value_j = agent.get_value_action_value(state_j)\n", 637 | " actions.append(action_to_backtest_action[np.argmax(q_value_j)])" 638 | ], 639 | "execution_count": 22, 640 | "outputs": [] 641 | }, 642 | { 643 | "cell_type": "code", 644 | "metadata": { 645 | "colab": { 646 | "base_uri": "https://localhost:8080/", 647 | "height": 320 648 | }, 649 | "id": "xtRiCRcwvL0j", 650 | "outputId": "b9396889-88e4-4e00-d055-0a9751e3f727" 651 | }, 652 | "source": [ 653 | "plt.figure(figsize = (15, 5))\n", 654 | "plt.plot(environment2.data)\n", 655 | "for e, a in enumerate(actions):\n", 656 | " e += WINDOW_SHAPE\n", 657 | " if a == 1:\n", 658 | " plt.scatter(e, environment2.data.iloc[e], color = 'green')\n", 659 | " elif a == -1:\n", 660 | " plt.scatter(e, environment2.data.iloc[e], color = 'red')\n", 661 | " else:\n", 662 | " pass\n", 663 | "plt.show()" 664 | ], 665 | "execution_count": 24, 666 | "outputs": [ 667 | { 668 | "output_type": "display_data", 669 | "data": { 670 | "image/png": "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\n", 671 | "text/plain": [ 672 | "
" 673 | ] 674 | }, 675 | "metadata": { 676 | "tags": [], 677 | "needs_background": "light" 678 | } 679 | } 680 | ] 681 | }, 682 | { 683 | "cell_type": "code", 684 | "metadata": { 685 | "colab": { 686 | "base_uri": "https://localhost:8080/", 687 | "height": 285 688 | }, 689 | "id": "1mmWwuMdvimy", 690 | "outputId": "61cc06b5-524f-43d5-d60b-cd094fd661db" 691 | }, 692 | "source": [ 693 | "backtest = pd.DataFrame({\n", 694 | " 'price': environment2.data.values.flatten(),\n", 695 | " 'signal': [0] * WINDOW_SHAPE + actions\n", 696 | "})\n", 697 | "backtest['price_diff'] = backtest['price'].diff().shift(-1)\n", 698 | "(backtest['price_diff'] * backtest['signal']).cumsum().plot()" 699 | ], 700 | "execution_count": 25, 701 | "outputs": [ 702 | { 703 | "output_type": "execute_result", 704 | "data": { 705 | "text/plain": [ 706 | "" 707 | ] 708 | }, 709 | "metadata": { 710 | "tags": [] 711 | }, 712 | "execution_count": 25 713 | }, 714 | { 715 | "output_type": "display_data", 716 | "data": { 717 | "image/png": "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\n", 718 | "text/plain": [ 719 | "
" 720 | ] 721 | }, 722 | "metadata": { 723 | "tags": [], 724 | "needs_background": "light" 725 | } 726 | } 727 | ] 728 | }, 729 | { 730 | "cell_type": "markdown", 731 | "metadata": { 732 | "id": "LLQV1ShDwjS2" 733 | }, 734 | "source": [ 735 | "### Other function" 736 | ] 737 | }, 738 | { 739 | "cell_type": "code", 740 | "metadata": { 741 | "id": "rL6-wAu0wk5J" 742 | }, 743 | "source": [ 744 | "data_new = pd.DataFrame(\n", 745 | " np.cos(np.arange(DATASET_LENGTH)/5.0) + \n", 746 | " np.cos(np.arange(DATASET_LENGTH)/10) + \n", 747 | " np.cos(np.arange(DATASET_LENGTH)/20) + \n", 748 | " np.cos(np.arange(DATASET_LENGTH)/30)\n", 749 | " )" 750 | ], 751 | "execution_count": 73, 752 | "outputs": [] 753 | }, 754 | { 755 | "cell_type": "code", 756 | "metadata": { 757 | "id": "Rz3I53Ek8Y9Q" 758 | }, 759 | "source": [ 760 | "environment3 = Environment(DATASET_LENGTH, True, True, data_new)\n", 761 | "actions = []\n", 762 | "for j in range(WINDOW_SHAPE, DATASET_LENGTH, REWARD_TIME): \n", 763 | " state_j = environment3.get_state(j, WINDOW_SHAPE)\n", 764 | " q_value_j = agent.get_value_action_value(state_j)\n", 765 | " actions.append(action_to_backtest_action[np.argmax(q_value_j)])" 766 | ], 767 | "execution_count": 74, 768 | "outputs": [] 769 | }, 770 | { 771 | "cell_type": "code", 772 | "metadata": { 773 | "colab": { 774 | "base_uri": "https://localhost:8080/", 775 | "height": 320 776 | }, 777 | "id": "Ji3YzkKJ9CN6", 778 | "outputId": "c01d9a44-8268-4195-e49b-81ea34a0d54d" 779 | }, 780 | "source": [ 781 | "plt.figure(figsize = (15, 5))\n", 782 | "plt.plot(environment3.data)\n", 783 | "for e, a in enumerate(actions):\n", 784 | " e += WINDOW_SHAPE\n", 785 | " if a == 1:\n", 786 | " plt.scatter(e, environment3.data.iloc[e], color = 'green')\n", 787 | " elif a == -1:\n", 788 | " plt.scatter(e, environment3.data.iloc[e], color = 'red')\n", 789 | " else:\n", 790 | " pass\n", 791 | "plt.show()" 792 | ], 793 | "execution_count": 75, 794 | "outputs": [ 795 | { 796 | "output_type": "display_data", 797 | "data": { 798 | "image/png": "iVBORw0KGgoAAAANSUhEUgAAA2oAAAEvCAYAAAA0ITL9AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+WH4yJAAAgAElEQVR4nOzdeXzU1bnH8c+ZLclkmZAQdiZhX6OAgKjghta9WqtVjNRqlVqt1VqvXm9al/amWm8322pbqrZVo7YqWlwqKu6KC4vKrizJsJNASEImk8nM/O4fk4REQbZJZsn3/Xr5As78knkww2/mOec5zzGWZSEiIiIiIiKJwxbvAERERERERKQjJWoiIiIiIiIJRomaiIiIiIhIglGiJiIiIiIikmCUqImIiIiIiCQYJWoiIiIiIiIJxhGvJ+7Zs6dVVFQUr6cXERERERGJq0WLFlVbllWwt8filqgVFRWxcOHCeD29iIiIiIhIXBljKvf1mEofRUREREREEowSNRERERERkQSjRE1ERERERCTBKFETERERERFJMErUREREREREEowSNRERERERkQSjRE1ERERERCTB7DdRM8Y8ZIzZboxZto/HjTHm98aYNcaYT40xE2IfpoiIiIiISPdxICtqfwdO/4rHzwCGtfw3C/jT4YclIiIiIiLSfe03UbMs6y1g51dcci7wsBX1PpBrjOkbqwC70mfb6vn3x5viHYaIiIiIiHRzsdij1h/Y0O7PG1vGvsQYM8sYs9AYs7CqqioGTx1b9776OTc/9SnrqnbHOxQREREREenGurSZiGVZsy3LmmhZ1sSCgoKufOoDcvs5o0lz2Ljl6U+JRKx4hyMiIiIiIt1ULBK1TcDAdn8e0DKWdHrlpPPTs0fzUUUNj35QGe9wRERERESkm4pFojYX+HZL98cpQK1lWVti8H3j4oKjBnD88ALu/s8qNuz0xzscERERERHphg6kPf/jwAJghDFmozHmu8aYq40xV7dc8iKwDlgD/BW4ptOi7QLGGH7xjbEY4CfP7vVEAhERERERkU7l2N8FlmXN2M/jFnBtzCJKAAN6uLn6hCH8+pXP2LDTz8A8d7xDEhERERGRbqRLm4kkk3OO7AfAvOVb4xyJiIiIiIh0N0rU9qGoZyaj+ubw0jIlaiIiIiIi0rWUqH2FM8b2YZGvhu11gXiHIiIiIiIi3YgSta9wxtg+WFbH8seq+iatsomIiIiISKdSovYVhvXOZkhBJv9pScyawxGufHghVz+6iO31WmUTEREREZHOoURtP84Y25cP1u9kZ0OQX728mk827AJg2abaOEcmIiIiIiKpSonafpw+tg/hiMWdzy3nL2+u4xvj+2MMLN1YF+/QREREREQkRSlR248x/XIYmJfBvz/ezIje2dx1fjGDemaybLNW1EREREREpHMoUdsPYwznHtmfDKedP1wynnSnneL+HpU+ioiIiIhIp1GidgCuP2UYb99yEsN7ZwNQ3N/DltoA1bub4hyZiIiIiIikIiVqB8Bpt9EzK63tz2P7ewBYqlU1ERERERHpBErUDsGYfjkALNuoRE1ERERERGJPidohyE53MqhnplbURERERESkUyhRO0Rj+3tYvlkt+kVEREREJPaUqB2i4v45bNrVyM6GYLxDERERERGRFKNE7RCpoYiIiIiIiHQWJWqHqDVR03lqIiIiIiISa0rUDlFOupOifDdLN9ZCeTkUFYHNFv21vDze4YmIiIiISBJzxDuAZDa2v4clKzdR9af/wgo0kuFMJ7uyEmbNil5QUhLfAEVEREREJClpRe0wHDkgl03NNiZd+Vcm/+BRjrruMbZk54PfD6Wl8Q5PRERERESSlFbUDsNFkweSef21hI2Nqswe/P64GSzpN5K+q98Fny/e4YmIiIiISJLSitphyEl3cknNSmYueZFrFvwLRzjEst5Dog96vfENTkREREREkpYStcNVVgZuN+nhZoZV+1jeezC43dFxERERERGRQ6BE7XCVlMDs2VBYyJjt61jWbwTWX2arkYiIiIiIiBwyJWqxUFICFRWM/Z8fsiM9m23nfDPeEYmIiIiISBJTohZDrYdgL9+sQ7BFREREROTQKVGLoVF9czAGlm2qi3coIiIiIiKSxJSoxVBmmoNBPTNZphU1ERERERE5DErUYmxsPw/LNylRExERERGRQ6dELcbG9s9hc22AnQ3BeIciIiIiIiJJSolajI3pp4YiIiIiIiJyeJSoxdiYfjmAGoqIiIiIiMihU6IWY7nPPMmA3dUs/+1sKCqC8vJ4hyQiIiIiIklGiVoslZfDrFmM3bSa5b2HQGUlzJqlZE1ERERERA6KErVYKi0Fv58x29axPq8/NenZ4PfDZZeBzaYV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\n", 799 | "text/plain": [ 800 | "
" 801 | ] 802 | }, 803 | "metadata": { 804 | "tags": [], 805 | "needs_background": "light" 806 | } 807 | } 808 | ] 809 | }, 810 | { 811 | "cell_type": "code", 812 | "metadata": { 813 | "colab": { 814 | "base_uri": "https://localhost:8080/", 815 | "height": 283 816 | }, 817 | "id": "pnoKA7iD9CjR", 818 | "outputId": "f0dc9ea8-6c65-447f-d4ca-b47c6261a6cd" 819 | }, 820 | "source": [ 821 | "backtest = pd.DataFrame({\n", 822 | " 'price': environment3.data.values.flatten(),\n", 823 | " 'signal': [0] * WINDOW_SHAPE + actions\n", 824 | "})\n", 825 | "backtest['price_diff'] = backtest['price'].diff().shift(-1)\n", 826 | "(backtest['price_diff'] * backtest['signal']).cumsum().plot()" 827 | ], 828 | "execution_count": 76, 829 | "outputs": [ 830 | { 831 | "output_type": "execute_result", 832 | "data": { 833 | "text/plain": [ 834 | "" 835 | ] 836 | }, 837 | "metadata": { 838 | "tags": [] 839 | }, 840 | "execution_count": 76 841 | }, 842 | { 843 | "output_type": "display_data", 844 | "data": { 845 | "image/png": "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\n", 846 | "text/plain": [ 847 | "
" 848 | ] 849 | }, 850 | "metadata": { 851 | "tags": [], 852 | "needs_background": "light" 853 | } 854 | } 855 | ] 856 | } 857 | ] 858 | } -------------------------------------------------------------------------------- /introduction/readme.md: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /odsc_workshop/RL in Finance.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rachnog/Reinforcement-Learning-in-Finance/8cc77ef28429d3337bea3177a365bb5831228f59/odsc_workshop/RL in Finance.pdf -------------------------------------------------------------------------------- /odsc_workshop/readme.md: -------------------------------------------------------------------------------- 1 | 2 | --------------------------------------------------------------------------------