Created
November 13, 2019 13:11
-
-
Save fspot/799d96095f90d9f95b1b2c480284b36c to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| { | |
| "cells": [ | |
| { | |
| "cell_type": "code", | |
| "execution_count": 1, | |
| "metadata": {}, | |
| "outputs": [], | |
| "source": [ | |
| "table1 = pd.read_excel(\"data_test.xlsx\", skiprows=5, usecols=[0, 1], header=None, names=['date', 'buy_signal'])\n", | |
| "table2 = pd.read_excel(\"data_test.xlsx\", skiprows=5, usecols=[4, 5], header=None, names=['date', 'buy_signal'])" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 2, | |
| "metadata": {}, | |
| "outputs": [], | |
| "source": [ | |
| "# 1 == signal \"Buy\" / 0 == signal \"Sell\" / nan == no signal\n", | |
| "table1 = table1.replace({0: np.nan})\n", | |
| "table2 = table2.replace({0: np.nan})\n", | |
| "table2 = table2.replace({1: 0})" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 3, | |
| "metadata": {}, | |
| "outputs": [], | |
| "source": [ | |
| "# On crée table3 avec les signaux dans la même colonne (via combine_first)\n", | |
| "# (inverser table1 et table2 selon quel signal est prioritaire, s'ils surviennent un même jour)\n", | |
| "# et on propage chaque signal jusqu'au suivant avec ffill:\n", | |
| "table3 = table1.combine_first(table2).ffill()" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 4, | |
| "metadata": {}, | |
| "outputs": [], | |
| "source": [ | |
| "# Cleaning:\n", | |
| "table3 = table3.replace({np.nan: 0, -1: 0})\\\n", | |
| " .rename(columns={'buy_signal': 'stock_hold'})" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 5, | |
| "metadata": {}, | |
| "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>date</th>\n", | |
| " <th>stock_hold</th>\n", | |
| " </tr>\n", | |
| " </thead>\n", | |
| " <tbody>\n", | |
| " <tr>\n", | |
| " <td>0</td>\n", | |
| " <td>2017-01-01</td>\n", | |
| " <td>0.0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <td>1</td>\n", | |
| " <td>2017-01-02</td>\n", | |
| " <td>0.0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <td>2</td>\n", | |
| " <td>2017-01-03</td>\n", | |
| " <td>0.0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <td>3</td>\n", | |
| " <td>2017-01-04</td>\n", | |
| " <td>0.0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <td>4</td>\n", | |
| " <td>2017-01-05</td>\n", | |
| " <td>1.0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <td>5</td>\n", | |
| " <td>2017-01-06</td>\n", | |
| " <td>1.0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <td>6</td>\n", | |
| " <td>2017-01-07</td>\n", | |
| " <td>1.0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <td>7</td>\n", | |
| " <td>2017-01-08</td>\n", | |
| " <td>1.0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <td>8</td>\n", | |
| " <td>2017-01-09</td>\n", | |
| " <td>1.0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <td>9</td>\n", | |
| " <td>2017-01-10</td>\n", | |
| " <td>0.0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <td>10</td>\n", | |
| " <td>2017-01-11</td>\n", | |
| " <td>0.0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <td>11</td>\n", | |
| " <td>2017-01-12</td>\n", | |
| " <td>1.0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <td>12</td>\n", | |
| " <td>2017-01-13</td>\n", | |
| " <td>1.0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <td>13</td>\n", | |
| " <td>2017-01-14</td>\n", | |
| " <td>1.0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <td>14</td>\n", | |
| " <td>2017-01-15</td>\n", | |
| " <td>1.0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <td>15</td>\n", | |
| " <td>2017-01-16</td>\n", | |
| " <td>1.0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <td>16</td>\n", | |
| " <td>2017-01-17</td>\n", | |
| " <td>1.0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <td>17</td>\n", | |
| " <td>2017-01-18</td>\n", | |
| " <td>1.0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <td>18</td>\n", | |
| " <td>2017-01-19</td>\n", | |
| " <td>1.0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <td>19</td>\n", | |
| " <td>2017-01-20</td>\n", | |
| " <td>1.0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <td>20</td>\n", | |
| " <td>2017-01-21</td>\n", | |
| " <td>1.0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <td>21</td>\n", | |
| " <td>2017-01-22</td>\n", | |
| " <td>1.0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <td>22</td>\n", | |
| " <td>2017-01-23</td>\n", | |
| " <td>0.0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <td>23</td>\n", | |
| " <td>2017-01-24</td>\n", | |
| " <td>0.0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <td>24</td>\n", | |
| " <td>2017-01-25</td>\n", | |
| " <td>0.0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <td>25</td>\n", | |
| " <td>2017-01-26</td>\n", | |
| " <td>0.0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <td>26</td>\n", | |
| " <td>2017-01-27</td>\n", | |
| " <td>0.0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <td>27</td>\n", | |
| " <td>2017-01-28</td>\n", | |
| " <td>0.0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <td>28</td>\n", | |
| " <td>2017-01-29</td>\n", | |
| " <td>0.0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <td>29</td>\n", | |
| " <td>2017-01-30</td>\n", | |
| " <td>0.0</td>\n", | |
| " </tr>\n", | |
| " </tbody>\n", | |
| "</table>\n", | |
| "</div>" | |
| ], | |
| "text/plain": [ | |
| " date stock_hold\n", | |
| "0 2017-01-01 0.0\n", | |
| "1 2017-01-02 0.0\n", | |
| "2 2017-01-03 0.0\n", | |
| "3 2017-01-04 0.0\n", | |
| "4 2017-01-05 1.0\n", | |
| "5 2017-01-06 1.0\n", | |
| "6 2017-01-07 1.0\n", | |
| "7 2017-01-08 1.0\n", | |
| "8 2017-01-09 1.0\n", | |
| "9 2017-01-10 0.0\n", | |
| "10 2017-01-11 0.0\n", | |
| "11 2017-01-12 1.0\n", | |
| "12 2017-01-13 1.0\n", | |
| "13 2017-01-14 1.0\n", | |
| "14 2017-01-15 1.0\n", | |
| "15 2017-01-16 1.0\n", | |
| "16 2017-01-17 1.0\n", | |
| "17 2017-01-18 1.0\n", | |
| "18 2017-01-19 1.0\n", | |
| "19 2017-01-20 1.0\n", | |
| "20 2017-01-21 1.0\n", | |
| "21 2017-01-22 1.0\n", | |
| "22 2017-01-23 0.0\n", | |
| "23 2017-01-24 0.0\n", | |
| "24 2017-01-25 0.0\n", | |
| "25 2017-01-26 0.0\n", | |
| "26 2017-01-27 0.0\n", | |
| "27 2017-01-28 0.0\n", | |
| "28 2017-01-29 0.0\n", | |
| "29 2017-01-30 0.0" | |
| ] | |
| }, | |
| "execution_count": 5, | |
| "metadata": {}, | |
| "output_type": "execute_result" | |
| } | |
| ], | |
| "source": [ | |
| "table3" | |
| ] | |
| } | |
| ], | |
| "metadata": { | |
| "kernelspec": { | |
| "display_name": "Python 3", | |
| "language": "python", | |
| "name": "python3" | |
| }, | |
| "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.7.4" | |
| } | |
| }, | |
| "nbformat": 4, | |
| "nbformat_minor": 4 | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment