-
-
Notifications
You must be signed in to change notification settings - Fork 541
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add Jupyter notebook to keep track of experimentation. This is for pe…
…rsonal documentation.
- Loading branch information
1 parent
5a34c6a
commit f99b96e
Showing
2 changed files
with
377 additions
and
0 deletions.
There are no files selected for viewing
This file contains 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,185 @@ | ||
{ | ||
"cells": [ | ||
{ | ||
"cell_type": "code", | ||
"execution_count": 1, | ||
"metadata": {}, | ||
"outputs": [ | ||
{ | ||
"name": "stdout", | ||
"output_type": "stream", | ||
"text": [ | ||
"0 0.00\n", | ||
"1 0.40\n", | ||
"2 1.00\n", | ||
"3 0.20\n", | ||
"4 0.44\n", | ||
"5 0.58\n", | ||
"Name: normalized_a, dtype: float64\n", | ||
" a b c normalized_a\n", | ||
"0 0.00 0.0000 0.000000 0.00\n", | ||
"1 0.40 0.1875 0.416667 0.40\n", | ||
"2 1.00 0.1500 0.166667 1.00\n", | ||
"3 0.20 0.1375 1.000000 0.20\n", | ||
"4 0.44 1.0000 0.033333 0.44\n", | ||
"5 0.58 0.0500 0.000000 0.58\n", | ||
"[[0. 0. 0. 0. ]\n", | ||
" [0.4 0.1875 0.41666667 0.4 ]\n", | ||
" [1. 0.15 0.16666667 1. ]\n", | ||
" [0.2 0.1375 1. 0.2 ]\n", | ||
" [0.44 1. 0.03333333 0.44 ]\n", | ||
" [0.58 0.05 0. 0.58 ]]\n" | ||
] | ||
} | ||
], | ||
"source": [ | ||
"import pandas as pd\n", | ||
"\n", | ||
"df = pd.DataFrame([\n", | ||
" { 'a': 0, 'b': 0, 'c': 0 },\n", | ||
" { 'a': 2, 'b': 1.5, 'c': 2.5 },\n", | ||
" { 'a': 5, 'b': 1.2, 'c': 1 },\n", | ||
" { 'a': 1, 'b': 1.1, 'c': 6 },\n", | ||
" { 'a': 2.2, 'b': 8, 'c': 0.2 },\n", | ||
" { 'a': 2.9, 'b': 0.4, 'c': 0 },\n", | ||
"])\n", | ||
"\n", | ||
"df['normalized_a'] = (df['a'] - df['a'].min()) / (df['a'].max() - df['a'].min())\n", | ||
"\n", | ||
"print(df['normalized_a'])\n", | ||
"\n", | ||
"from lib.data.features.transform import max_min_normalize\n", | ||
"\n", | ||
"df_max_min = max_min_normalize(df)\n", | ||
"df_max_min_list = max_min_normalize(df.values)\n", | ||
"\n", | ||
"print(df_max_min)\n", | ||
"print(df_max_min_list)" | ||
] | ||
}, | ||
{ | ||
"cell_type": "code", | ||
"execution_count": 2, | ||
"metadata": {}, | ||
"outputs": [ | ||
{ | ||
"name": "stdout", | ||
"output_type": "stream", | ||
"text": [ | ||
" Date Open High Low Close Volume\n", | ||
"1664 1417392000 300.0 370.0 300.00 370.0 0.05656\n", | ||
"1663 1417478400 370.0 378.0 370.00 378.0 15.01000\n", | ||
"1662 1417564800 378.0 378.0 377.01 378.0 0.54660\n", | ||
"1661 1417651200 378.0 378.0 377.10 377.1 0.01000\n", | ||
"1660 1417737600 377.1 377.1 377.10 377.1 0.00000\n", | ||
" Date Open High Low Close Volume\n", | ||
"1664 0.000061 0.209721 0.021391 0.209721 0.021391 5.581170\n", | ||
"1663 0.000061 0.209721 0.021391 0.209721 0.021391 5.581170\n", | ||
"1662 0.000061 0.021391 0.000000 0.018769 0.000000 -3.312755\n", | ||
"1661 0.000061 0.000000 0.000000 0.000239 -0.002384 -4.001132\n", | ||
"1660 0.000061 -0.002384 -0.002384 0.000000 0.000000 0.000000\n", | ||
" Date Open High Low Close Volume\n", | ||
"1664 0.008457 0.732499 0.455558 0.510581 0.592149 0.996942\n", | ||
"1663 0.008457 0.732499 0.455558 0.510581 0.592149 0.996942\n", | ||
"1662 0.008452 0.592149 0.415140 0.500916 0.576208 0.244405\n", | ||
"1661 0.008446 0.576208 0.415140 0.499978 0.574431 0.186160\n", | ||
"1660 0.008441 0.574431 0.410636 0.499966 0.576208 0.524705\n" | ||
] | ||
}, | ||
{ | ||
"name": "stderr", | ||
"output_type": "stream", | ||
"text": [ | ||
"/Users/Adam/Desktop/YouTube/BitcoinTrader/lib/data/features/transform.py:54: RuntimeWarning: divide by zero encountered in log\n", | ||
" return transform(iterable, inplace, columns, lambda t_iterable: np.log(t_iterable) - np.log(t_iterable).shift(1))\n" | ||
] | ||
} | ||
], | ||
"source": [ | ||
"from lib.data.providers import ProviderDateFormat, StaticDataProvider\n", | ||
"from lib.data.features.transform import max_min_normalize, log_and_difference\n", | ||
"\n", | ||
"data_columns = {'Date': 'Date', 'Open': 'Open', 'High': 'High',\n", | ||
" 'Low': 'Low', 'Close': 'Close', 'Volume': 'VolumeFrom'}\n", | ||
"\n", | ||
"provider = StaticDataProvider(date_format=ProviderDateFormat.DATETIME_HOUR_24,\n", | ||
" csv_data_path=\"/Users/Adam/Desktop/YouTube/BitcoinTrader/data/input/coinbase-1d-btc-usd.csv\",\n", | ||
" data_columns=data_columns)\n", | ||
"\n", | ||
"print(provider.data_frame.head())\n", | ||
"\n", | ||
"logged_and_diffed = log_and_difference(provider.data_frame)\n", | ||
"\n", | ||
"print(logged_and_diffed.head())\n", | ||
"\n", | ||
"normalized = max_min_normalize(provider.data_frame)\n", | ||
"\n", | ||
"print(normalized.head())" | ||
] | ||
}, | ||
{ | ||
"cell_type": "code", | ||
"execution_count": 6, | ||
"metadata": {}, | ||
"outputs": [ | ||
{ | ||
"name": "stdout", | ||
"output_type": "stream", | ||
"text": [ | ||
"[[-3.]\n", | ||
" [-3.]\n", | ||
" [ 5.]\n", | ||
" [ 1.]\n", | ||
" [ 1.]]\n", | ||
"[[0. ]\n", | ||
" [0. ]\n", | ||
" [1. ]\n", | ||
" [0.5]\n", | ||
" [0.5]]\n", | ||
"[0. 0. 1. 0.5 0.5]\n" | ||
] | ||
} | ||
], | ||
"source": [ | ||
"import numpy as np\n", | ||
"\n", | ||
"from lib.data.features.transform import log_and_difference, max_min_normalize, difference\n", | ||
"\n", | ||
"items = [1, -2, 3, 4, 5]\n", | ||
"\n", | ||
"diffed = difference(items, inplace=False)\n", | ||
"\n", | ||
"print(diffed)\n", | ||
"\n", | ||
"normed = max_min_normalize(logged)\n", | ||
"\n", | ||
"print(normed)\n", | ||
"\n", | ||
"raveled = np.ravel(normed, order='F')\n", | ||
"\n", | ||
"print(raveled)" | ||
] | ||
} | ||
], | ||
"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.2" | ||
} | ||
}, | ||
"nbformat": 4, | ||
"nbformat_minor": 2 | ||
} |
This file contains 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,192 @@ | ||
{ | ||
"cells": [ | ||
{ | ||
"cell_type": "code", | ||
"execution_count": 1, | ||
"metadata": {}, | ||
"outputs": [ | ||
{ | ||
"name": "stdout", | ||
"output_type": "stream", | ||
"text": [ | ||
"0 0.00\n", | ||
"1 0.40\n", | ||
"2 1.00\n", | ||
"3 0.20\n", | ||
"4 0.44\n", | ||
"5 0.58\n", | ||
"Name: normalized_a, dtype: float64\n", | ||
" a b c normalized_a\n", | ||
"0 0.00 0.0000 0.000000 0.00\n", | ||
"1 0.40 0.1875 0.416667 0.40\n", | ||
"2 1.00 0.1500 0.166667 1.00\n", | ||
"3 0.20 0.1375 1.000000 0.20\n", | ||
"4 0.44 1.0000 0.033333 0.44\n", | ||
"5 0.58 0.0500 0.000000 0.58\n", | ||
"[[0. 0. 0. 0. ]\n", | ||
" [0.4 0.1875 0.41666667 0.4 ]\n", | ||
" [1. 0.15 0.16666667 1. ]\n", | ||
" [0.2 0.1375 1. 0.2 ]\n", | ||
" [0.44 1. 0.03333333 0.44 ]\n", | ||
" [0.58 0.05 0. 0.58 ]]\n" | ||
] | ||
} | ||
], | ||
"source": [ | ||
"import pandas as pd\n", | ||
"\n", | ||
"df = pd.DataFrame([\n", | ||
" { 'a': 0, 'b': 0, 'c': 0 },\n", | ||
" { 'a': 2, 'b': 1.5, 'c': 2.5 },\n", | ||
" { 'a': 5, 'b': 1.2, 'c': 1 },\n", | ||
" { 'a': 1, 'b': 1.1, 'c': 6 },\n", | ||
" { 'a': 2.2, 'b': 8, 'c': 0.2 },\n", | ||
" { 'a': 2.9, 'b': 0.4, 'c': 0 },\n", | ||
"])\n", | ||
"\n", | ||
"df['normalized_a'] = (df['a'] - df['a'].min()) / (df['a'].max() - df['a'].min())\n", | ||
"\n", | ||
"print(df['normalized_a'])\n", | ||
"\n", | ||
"from lib.data.features.transform import max_min_normalize\n", | ||
"\n", | ||
"df_max_min = max_min_normalize(df)\n", | ||
"df_max_min_list = max_min_normalize(df.values)\n", | ||
"\n", | ||
"print(df_max_min)\n", | ||
"print(df_max_min_list)" | ||
] | ||
}, | ||
{ | ||
"cell_type": "code", | ||
"execution_count": 2, | ||
"metadata": {}, | ||
"outputs": [ | ||
{ | ||
"name": "stdout", | ||
"output_type": "stream", | ||
"text": [ | ||
" Date Open High Low Close Volume\n", | ||
"1664 1417392000 300.0 370.0 300.00 370.0 0.05656\n", | ||
"1663 1417478400 370.0 378.0 370.00 378.0 15.01000\n", | ||
"1662 1417564800 378.0 378.0 377.01 378.0 0.54660\n", | ||
"1661 1417651200 378.0 378.0 377.10 377.1 0.01000\n", | ||
"1660 1417737600 377.1 377.1 377.10 377.1 0.00000\n", | ||
" Date Open High Low Close Volume\n", | ||
"1664 0.000061 0.209721 0.021391 0.209721 0.021391 5.581170\n", | ||
"1663 0.000061 0.209721 0.021391 0.209721 0.021391 5.581170\n", | ||
"1662 0.000061 0.021391 0.000000 0.018769 0.000000 -3.312755\n", | ||
"1661 0.000061 0.000000 0.000000 0.000239 -0.002384 -4.001132\n", | ||
"1660 0.000061 -0.002384 -0.002384 0.000000 0.000000 0.000000\n", | ||
" Date Open High Low Close Volume\n", | ||
"1664 0.008457 0.732499 0.455558 0.510581 0.592149 0.996942\n", | ||
"1663 0.008457 0.732499 0.455558 0.510581 0.592149 0.996942\n", | ||
"1662 0.008452 0.592149 0.415140 0.500916 0.576208 0.244405\n", | ||
"1661 0.008446 0.576208 0.415140 0.499978 0.574431 0.186160\n", | ||
"1660 0.008441 0.574431 0.410636 0.499966 0.576208 0.524705\n" | ||
] | ||
}, | ||
{ | ||
"name": "stderr", | ||
"output_type": "stream", | ||
"text": [ | ||
"/Users/Adam/Desktop/YouTube/BitcoinTrader/lib/data/features/transform.py:54: RuntimeWarning: divide by zero encountered in log\n", | ||
" return transform(iterable, inplace, columns, lambda t_iterable: np.log(t_iterable) - np.log(t_iterable).shift(1))\n" | ||
] | ||
} | ||
], | ||
"source": [ | ||
"from lib.data.providers import ProviderDateFormat, StaticDataProvider\n", | ||
"from lib.data.features.transform import max_min_normalize, log_and_difference\n", | ||
"\n", | ||
"data_columns = {'Date': 'Date', 'Open': 'Open', 'High': 'High',\n", | ||
" 'Low': 'Low', 'Close': 'Close', 'Volume': 'VolumeFrom'}\n", | ||
"\n", | ||
"provider = StaticDataProvider(date_format=ProviderDateFormat.DATETIME_HOUR_24,\n", | ||
" csv_data_path=\"/Users/Adam/Desktop/YouTube/BitcoinTrader/data/input/coinbase-1d-btc-usd.csv\",\n", | ||
" data_columns=data_columns)\n", | ||
"\n", | ||
"print(provider.data_frame.head())\n", | ||
"\n", | ||
"logged_and_diffed = log_and_difference(provider.data_frame)\n", | ||
"\n", | ||
"print(logged_and_diffed.head())\n", | ||
"\n", | ||
"normalized = max_min_normalize(provider.data_frame)\n", | ||
"\n", | ||
"print(normalized.head())" | ||
] | ||
}, | ||
{ | ||
"cell_type": "code", | ||
"execution_count": 7, | ||
"metadata": {}, | ||
"outputs": [ | ||
{ | ||
"name": "stdout", | ||
"output_type": "stream", | ||
"text": [ | ||
"[[-3.]\n", | ||
" [-3.]\n", | ||
" [ 5.]\n", | ||
" [ 1.]\n", | ||
" [ 1.]]\n", | ||
"[[0. ]\n", | ||
" [0. ]\n", | ||
" [1. ]\n", | ||
" [0.5]\n", | ||
" [0.5]]\n", | ||
"[0. 0. 1. 0.5 0.5]\n" | ||
] | ||
} | ||
], | ||
"source": [ | ||
"import numpy as np\n", | ||
"\n", | ||
"from lib.data.features.transform import log_and_difference, max_min_normalize, difference\n", | ||
"\n", | ||
"items = [1, -2, 3, 4, 5]\n", | ||
"\n", | ||
"diffed = difference(items, inplace=False)\n", | ||
"\n", | ||
"print(diffed)\n", | ||
"\n", | ||
"normed = max_min_normalize(logged)\n", | ||
"\n", | ||
"print(normed)\n", | ||
"\n", | ||
"raveled = np.ravel(normed, order='F')\n", | ||
"\n", | ||
"print(raveled)" | ||
] | ||
}, | ||
{ | ||
"cell_type": "code", | ||
"execution_count": null, | ||
"metadata": {}, | ||
"outputs": [], | ||
"source": [] | ||
} | ||
], | ||
"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.2" | ||
} | ||
}, | ||
"nbformat": 4, | ||
"nbformat_minor": 2 | ||
} |