moved notebooks to another place

This commit is contained in:
Mark 2022-09-19 14:14:12 +03:00
parent b9e3cf783f
commit 7eb13b8542
2 changed files with 3 additions and 239 deletions

View File

@ -1,236 +0,0 @@
{
"cells": [
{
"cell_type": "markdown",
"id": "72ef68e9",
"metadata": {},
"source": [
"Let's try to get filepath of any candlesticks file."
]
},
{
"cell_type": "code",
"execution_count": 2,
"id": "a58c80ee",
"metadata": {
"scrolled": true
},
"outputs": [
{
"data": {
"text/plain": [
"PosixPath('/home/parf/projects/marketTrade/data/candlesticks/NZDUSD_5S_2020.09.01_2020.09.30.csv')"
]
},
"execution_count": 2,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"import market_trade.constants\n",
"\n",
"candlesticks_filepaths = [filepath for filepath in market_trade.constants.CANDLESTICK_DATASETS_PATH.iterdir()]\n",
"candlesticks_filepath = candlesticks_filepaths[0]\n",
"candlesticks_filepath"
]
},
{
"cell_type": "markdown",
"id": "a2d71d52",
"metadata": {},
"source": [
"Let's import that file to pandas"
]
},
{
"cell_type": "code",
"execution_count": 18,
"id": "1be511b6",
"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>open</th>\n",
" <th>high</th>\n",
" <th>low</th>\n",
" <th>close</th>\n",
" <th>vol</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>0.67331</td>\n",
" <td>0.67362</td>\n",
" <td>0.67331</td>\n",
" <td>0.67361</td>\n",
" <td>26.24</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>0.67361</td>\n",
" <td>0.67362</td>\n",
" <td>0.67361</td>\n",
" <td>0.67362</td>\n",
" <td>4.25</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>0.67362</td>\n",
" <td>0.67362</td>\n",
" <td>0.67362</td>\n",
" <td>0.67362</td>\n",
" <td>0.00</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>0.67365</td>\n",
" <td>0.67365</td>\n",
" <td>0.67363</td>\n",
" <td>0.67363</td>\n",
" <td>5.50</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>0.67364</td>\n",
" <td>0.67364</td>\n",
" <td>0.67363</td>\n",
" <td>0.67364</td>\n",
" <td>10.44</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" open high low close vol\n",
"0 0.67331 0.67362 0.67331 0.67361 26.24\n",
"1 0.67361 0.67362 0.67361 0.67362 4.25\n",
"2 0.67362 0.67362 0.67362 0.67362 0.00\n",
"3 0.67365 0.67365 0.67363 0.67363 5.50\n",
"4 0.67364 0.67364 0.67363 0.67364 10.44"
]
},
"execution_count": 18,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"import pandas as pd\n",
"\n",
"# we set two rows as multiheader, and parse dates in index\n",
"candlesticks_df = pd.read_csv(candlesticks_filepath,index_col=0, header=[0,1], parse_dates=True)\n",
"candlesticks_df['date'] = candlesticks_df.index \n",
"candlesticks_df.reset_index(inplace=True, drop=True)\n",
"ask_candlesticks_df = candlesticks_df['ask']\n",
"ask_candlesticks_df.head()"
]
},
{
"cell_type": "markdown",
"id": "146c9548",
"metadata": {},
"source": [
"Everything imported beatifully."
]
},
{
"cell_type": "code",
"execution_count": 17,
"id": "d7b086be",
"metadata": {},
"outputs": [
{
"ename": "KeyError",
"evalue": "'low'",
"output_type": "error",
"traceback": [
"\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
"\u001b[0;31mKeyError\u001b[0m Traceback (most recent call last)",
"File \u001b[0;32m~/.cache/pypoetry/virtualenvs/markettrade-P3YxNLxR-py3.10/lib/python3.10/site-packages/pandas/core/indexes/base.py:3621\u001b[0m, in \u001b[0;36mIndex.get_loc\u001b[0;34m(self, key, method, tolerance)\u001b[0m\n\u001b[1;32m 3620\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[0;32m-> 3621\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_engine\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mget_loc\u001b[49m\u001b[43m(\u001b[49m\u001b[43mcasted_key\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 3622\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m \u001b[38;5;167;01mKeyError\u001b[39;00m \u001b[38;5;28;01mas\u001b[39;00m err:\n",
"File \u001b[0;32m~/.cache/pypoetry/virtualenvs/markettrade-P3YxNLxR-py3.10/lib/python3.10/site-packages/pandas/_libs/index.pyx:136\u001b[0m, in \u001b[0;36mpandas._libs.index.IndexEngine.get_loc\u001b[0;34m()\u001b[0m\n",
"File \u001b[0;32m~/.cache/pypoetry/virtualenvs/markettrade-P3YxNLxR-py3.10/lib/python3.10/site-packages/pandas/_libs/index.pyx:163\u001b[0m, in \u001b[0;36mpandas._libs.index.IndexEngine.get_loc\u001b[0;34m()\u001b[0m\n",
"File \u001b[0;32mpandas/_libs/hashtable_class_helper.pxi:5198\u001b[0m, in \u001b[0;36mpandas._libs.hashtable.PyObjectHashTable.get_item\u001b[0;34m()\u001b[0m\n",
"File \u001b[0;32mpandas/_libs/hashtable_class_helper.pxi:5206\u001b[0m, in \u001b[0;36mpandas._libs.hashtable.PyObjectHashTable.get_item\u001b[0;34m()\u001b[0m\n",
"\u001b[0;31mKeyError\u001b[0m: 'low'",
"\nThe above exception was the direct cause of the following exception:\n",
"\u001b[0;31mKeyError\u001b[0m Traceback (most recent call last)",
"Input \u001b[0;32mIn [17]\u001b[0m, in \u001b[0;36m<cell line: 17>\u001b[0;34m()\u001b[0m\n\u001b[1;32m 8\u001b[0m \u001b[38;5;66;03m# df_candle[:3000],ind_params,True,False,True\u001b[39;00m\n\u001b[1;32m 9\u001b[0m \u001b[38;5;66;03m# window 5..100 (5) | valueType: 'open', 'low' | 'kdev' : 1..4 (0.1)\u001b[39;00m\n\u001b[1;32m 10\u001b[0m indEl1 \u001b[38;5;241m=\u001b[39m {\n\u001b[1;32m 11\u001b[0m \u001b[38;5;124m'\u001b[39m\u001b[38;5;124mdf\u001b[39m\u001b[38;5;124m'\u001b[39m: ask_candlesticks_df[:\u001b[38;5;241m3000\u001b[39m],\n\u001b[1;32m 12\u001b[0m \u001b[38;5;124m'\u001b[39m\u001b[38;5;124mparams\u001b[39m\u001b[38;5;124m'\u001b[39m: ind_params,\n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 15\u001b[0m \u001b[38;5;124m'\u001b[39m\u001b[38;5;124mdrawFig\u001b[39m\u001b[38;5;124m'\u001b[39m: \u001b[38;5;28;01mTrue\u001b[39;00m\n\u001b[1;32m 16\u001b[0m }\n\u001b[0;32m---> 17\u001b[0m a \u001b[38;5;241m=\u001b[39m \u001b[43mmarket_trade\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43msignals\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mSignal1\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mSignalBollingerBands1\u001b[49m\u001b[43m(\u001b[49m\u001b[43m{\u001b[49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[38;5;124;43mBB\u001b[39;49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[43m:\u001b[49m\u001b[43m \u001b[49m\u001b[43mindEl1\u001b[49m\u001b[43m}\u001b[49m\u001b[43m)\u001b[49m\n",
"File \u001b[0;32m~/projects/marketTrade/market_trade/signals/Signal1.py:40\u001b[0m, in \u001b[0;36mSignalBollingerBands1.__init__\u001b[0;34m(self, IndDict, mode)\u001b[0m\n\u001b[1;32m 38\u001b[0m \u001b[38;5;28msuper\u001b[39m()\u001b[38;5;241m.\u001b[39m\u001b[38;5;21m__init__\u001b[39m(name\u001b[38;5;241m=\u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124m1.1\u001b[39m\u001b[38;5;124m'\u001b[39m,mode\u001b[38;5;241m=\u001b[39mmode,target\u001b[38;5;241m=\u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mnextBar\u001b[39m\u001b[38;5;124m'\u001b[39m,valeType\u001b[38;5;241m=\u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mprice\u001b[39m\u001b[38;5;124m'\u001b[39m)\n\u001b[1;32m 39\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mIndDict\u001b[38;5;241m=\u001b[39mIndDict\n\u001b[0;32m---> 40\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mBB\u001b[38;5;241m=\u001b[39m\u001b[43mmarket_trade\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mcore\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mInd_bollingerBands\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mBB\u001b[49m\u001b[43m(\u001b[49m\n\u001b[1;32m 41\u001b[0m \u001b[43m \u001b[49m\u001b[43mIndDict\u001b[49m\u001b[43m[\u001b[49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[38;5;124;43mBB\u001b[39;49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[43m]\u001b[49m\u001b[43m[\u001b[49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[38;5;124;43mdf\u001b[39;49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[43m]\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 42\u001b[0m \u001b[43m \u001b[49m\u001b[43mIndDict\u001b[49m\u001b[43m[\u001b[49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[38;5;124;43mBB\u001b[39;49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[43m]\u001b[49m\u001b[43m[\u001b[49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[38;5;124;43mparams\u001b[39;49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[43m]\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 43\u001b[0m \u001b[43m \u001b[49m\u001b[43mIndDict\u001b[49m\u001b[43m[\u001b[49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[38;5;124;43mBB\u001b[39;49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[43m]\u001b[49m\u001b[43m[\u001b[49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[38;5;124;43mneedFig\u001b[39;49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[43m]\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 44\u001b[0m \u001b[43m \u001b[49m\u001b[43mIndDict\u001b[49m\u001b[43m[\u001b[49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[38;5;124;43mBB\u001b[39;49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[43m]\u001b[49m\u001b[43m[\u001b[49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[38;5;124;43mshowOnlyIndex\u001b[39;49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[43m]\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 45\u001b[0m \u001b[43m \u001b[49m\u001b[43mIndDict\u001b[49m\u001b[43m[\u001b[49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[38;5;124;43mBB\u001b[39;49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[43m]\u001b[49m\u001b[43m[\u001b[49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[38;5;124;43mdrawFig\u001b[39;49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[43m]\u001b[49m\n\u001b[1;32m 46\u001b[0m \u001b[43m\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 47\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mgetAns()\n\u001b[1;32m 48\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m mode\u001b[38;5;241m==\u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mretro\u001b[39m\u001b[38;5;124m'\u001b[39m:\n",
"File \u001b[0;32m~/projects/marketTrade/market_trade/core/Ind_bollingerBands.py:36\u001b[0m, in \u001b[0;36mBB.__init__\u001b[0;34m(self, base_df, options, needFig, showOnlyIndex, drawFig)\u001b[0m\n\u001b[1;32m 34\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mbase_df\u001b[38;5;241m=\u001b[39mbase_df\u001b[38;5;241m.\u001b[39mreset_index(drop\u001b[38;5;241m=\u001b[39m\u001b[38;5;28;01mTrue\u001b[39;00m)\n\u001b[1;32m 35\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39moptions\u001b[38;5;241m=\u001b[39moptions\n\u001b[0;32m---> 36\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mans\u001b[38;5;241m=\u001b[39m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mgetAns\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 37\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m needFig:\n\u001b[1;32m 38\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mfig\u001b[38;5;241m=\u001b[39m\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mpltShow(showOnlyIndex,drawFig)\n",
"File \u001b[0;32m~/projects/marketTrade/market_trade/core/Ind_bollingerBands.py:53\u001b[0m, in \u001b[0;36mBB.getAns\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 43\u001b[0m ans\u001b[38;5;241m=\u001b[39m{}\n\u001b[1;32m 45\u001b[0m opMA\u001b[38;5;241m=\u001b[39m{\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mdataType\u001b[39m\u001b[38;5;124m'\u001b[39m:\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mohcl\u001b[39m\u001b[38;5;124m'\u001b[39m,\n\u001b[1;32m 46\u001b[0m \u001b[38;5;124m'\u001b[39m\u001b[38;5;124maction\u001b[39m\u001b[38;5;124m'\u001b[39m:\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mfindMean\u001b[39m\u001b[38;5;124m'\u001b[39m,\n\u001b[1;32m 47\u001b[0m \u001b[38;5;124m'\u001b[39m\u001b[38;5;124mactionOptions\u001b[39m\u001b[38;5;124m'\u001b[39m:{\n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 51\u001b[0m }\n\u001b[1;32m 52\u001b[0m }\n\u001b[0;32m---> 53\u001b[0m ans[\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mBB\u001b[39m\u001b[38;5;124m'\u001b[39m]\u001b[38;5;241m=\u001b[39m\u001b[43mmarket_trade\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mcore\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mCoreTraidMath\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mCoreMath\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mbase_df\u001b[49m\u001b[43m,\u001b[49m\u001b[43mopMA\u001b[49m\u001b[43m)\u001b[49m\u001b[38;5;241m.\u001b[39mans\n\u001b[1;32m 54\u001b[0m opSTD\u001b[38;5;241m=\u001b[39m{\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mdataType\u001b[39m\u001b[38;5;124m'\u001b[39m:\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mohcl\u001b[39m\u001b[38;5;124m'\u001b[39m,\n\u001b[1;32m 55\u001b[0m \u001b[38;5;124m'\u001b[39m\u001b[38;5;124maction\u001b[39m\u001b[38;5;124m'\u001b[39m:\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mfindSTD\u001b[39m\u001b[38;5;124m'\u001b[39m,\n\u001b[1;32m 56\u001b[0m \u001b[38;5;124m'\u001b[39m\u001b[38;5;124mactionOptions\u001b[39m\u001b[38;5;124m'\u001b[39m:{\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mvalueType\u001b[39m\u001b[38;5;124m'\u001b[39m:\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39moptions[\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mvalueType\u001b[39m\u001b[38;5;124m'\u001b[39m],\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mwindow\u001b[39m\u001b[38;5;124m'\u001b[39m:\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39moptions[\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mwindow\u001b[39m\u001b[38;5;124m'\u001b[39m]}\n\u001b[1;32m 57\u001b[0m }\n\u001b[1;32m 58\u001b[0m ans[\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mSTD\u001b[39m\u001b[38;5;124m'\u001b[39m]\u001b[38;5;241m=\u001b[39mmarket_trade\u001b[38;5;241m.\u001b[39mcore\u001b[38;5;241m.\u001b[39mCoreTraidMath\u001b[38;5;241m.\u001b[39mCoreMath(\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mbase_df,opSTD)\u001b[38;5;241m.\u001b[39mans\n",
"File \u001b[0;32m~/projects/marketTrade/market_trade/core/CoreTraidMath.py:32\u001b[0m, in \u001b[0;36mCoreMath.__init__\u001b[0;34m(self, base_df, params)\u001b[0m\n\u001b[1;32m 30\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mparams\u001b[38;5;241m=\u001b[39mparams\n\u001b[1;32m 31\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mparams[\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mdataType\u001b[39m\u001b[38;5;124m'\u001b[39m]\u001b[38;5;241m==\u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mohcl\u001b[39m\u001b[38;5;124m'\u001b[39m:\n\u001b[0;32m---> 32\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mcol\u001b[38;5;241m=\u001b[39m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mbase_df\u001b[49m\u001b[43m[\u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mparams\u001b[49m\u001b[43m[\u001b[49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[38;5;124;43mactionOptions\u001b[39;49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[43m]\u001b[49m\u001b[43m[\u001b[49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[38;5;124;43mvalueType\u001b[39;49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[43m]\u001b[49m\u001b[43m]\u001b[49m\n\u001b[1;32m 33\u001b[0m \u001b[38;5;28;01melif\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mparams[\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mdataType\u001b[39m\u001b[38;5;124m'\u001b[39m]\u001b[38;5;241m==\u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mseries\u001b[39m\u001b[38;5;124m'\u001b[39m:\n\u001b[1;32m 34\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mcol\u001b[38;5;241m=\u001b[39m\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mbase_df\n",
"File \u001b[0;32m~/.cache/pypoetry/virtualenvs/markettrade-P3YxNLxR-py3.10/lib/python3.10/site-packages/pandas/core/frame.py:3504\u001b[0m, in \u001b[0;36mDataFrame.__getitem__\u001b[0;34m(self, key)\u001b[0m\n\u001b[1;32m 3502\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m is_single_key:\n\u001b[1;32m 3503\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mcolumns\u001b[38;5;241m.\u001b[39mnlevels \u001b[38;5;241m>\u001b[39m \u001b[38;5;241m1\u001b[39m:\n\u001b[0;32m-> 3504\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_getitem_multilevel\u001b[49m\u001b[43m(\u001b[49m\u001b[43mkey\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 3505\u001b[0m indexer \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mcolumns\u001b[38;5;241m.\u001b[39mget_loc(key)\n\u001b[1;32m 3506\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m is_integer(indexer):\n",
"File \u001b[0;32m~/.cache/pypoetry/virtualenvs/markettrade-P3YxNLxR-py3.10/lib/python3.10/site-packages/pandas/core/frame.py:3555\u001b[0m, in \u001b[0;36mDataFrame._getitem_multilevel\u001b[0;34m(self, key)\u001b[0m\n\u001b[1;32m 3553\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21m_getitem_multilevel\u001b[39m(\u001b[38;5;28mself\u001b[39m, key):\n\u001b[1;32m 3554\u001b[0m \u001b[38;5;66;03m# self.columns is a MultiIndex\u001b[39;00m\n\u001b[0;32m-> 3555\u001b[0m loc \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mcolumns\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mget_loc\u001b[49m\u001b[43m(\u001b[49m\u001b[43mkey\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 3556\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28misinstance\u001b[39m(loc, (\u001b[38;5;28mslice\u001b[39m, np\u001b[38;5;241m.\u001b[39mndarray)):\n\u001b[1;32m 3557\u001b[0m new_columns \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mcolumns[loc]\n",
"File \u001b[0;32m~/.cache/pypoetry/virtualenvs/markettrade-P3YxNLxR-py3.10/lib/python3.10/site-packages/pandas/core/indexes/multi.py:2869\u001b[0m, in \u001b[0;36mMultiIndex.get_loc\u001b[0;34m(self, key, method)\u001b[0m\n\u001b[1;32m 2866\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m mask\n\u001b[1;32m 2868\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;28misinstance\u001b[39m(key, \u001b[38;5;28mtuple\u001b[39m):\n\u001b[0;32m-> 2869\u001b[0m loc \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_get_level_indexer\u001b[49m\u001b[43m(\u001b[49m\u001b[43mkey\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mlevel\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;241;43m0\u001b[39;49m\u001b[43m)\u001b[49m\n\u001b[1;32m 2870\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m _maybe_to_slice(loc)\n\u001b[1;32m 2872\u001b[0m keylen \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mlen\u001b[39m(key)\n",
"File \u001b[0;32m~/.cache/pypoetry/virtualenvs/markettrade-P3YxNLxR-py3.10/lib/python3.10/site-packages/pandas/core/indexes/multi.py:3222\u001b[0m, in \u001b[0;36mMultiIndex._get_level_indexer\u001b[0;34m(self, key, level, indexer)\u001b[0m\n\u001b[1;32m 3218\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28mslice\u001b[39m(i, j, step)\n\u001b[1;32m 3220\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[0;32m-> 3222\u001b[0m idx \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_get_loc_single_level_index\u001b[49m\u001b[43m(\u001b[49m\u001b[43mlevel_index\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mkey\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 3224\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m level \u001b[38;5;241m>\u001b[39m \u001b[38;5;241m0\u001b[39m \u001b[38;5;129;01mor\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_lexsort_depth \u001b[38;5;241m==\u001b[39m \u001b[38;5;241m0\u001b[39m:\n\u001b[1;32m 3225\u001b[0m \u001b[38;5;66;03m# Desired level is not sorted\u001b[39;00m\n\u001b[1;32m 3226\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28misinstance\u001b[39m(idx, \u001b[38;5;28mslice\u001b[39m):\n\u001b[1;32m 3227\u001b[0m \u001b[38;5;66;03m# test_get_loc_partial_timestamp_multiindex\u001b[39;00m\n",
"File \u001b[0;32m~/.cache/pypoetry/virtualenvs/markettrade-P3YxNLxR-py3.10/lib/python3.10/site-packages/pandas/core/indexes/multi.py:2802\u001b[0m, in \u001b[0;36mMultiIndex._get_loc_single_level_index\u001b[0;34m(self, level_index, key)\u001b[0m\n\u001b[1;32m 2800\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;241m-\u001b[39m\u001b[38;5;241m1\u001b[39m\n\u001b[1;32m 2801\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[0;32m-> 2802\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mlevel_index\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mget_loc\u001b[49m\u001b[43m(\u001b[49m\u001b[43mkey\u001b[49m\u001b[43m)\u001b[49m\n",
"File \u001b[0;32m~/.cache/pypoetry/virtualenvs/markettrade-P3YxNLxR-py3.10/lib/python3.10/site-packages/pandas/core/indexes/base.py:3623\u001b[0m, in \u001b[0;36mIndex.get_loc\u001b[0;34m(self, key, method, tolerance)\u001b[0m\n\u001b[1;32m 3621\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_engine\u001b[38;5;241m.\u001b[39mget_loc(casted_key)\n\u001b[1;32m 3622\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m \u001b[38;5;167;01mKeyError\u001b[39;00m \u001b[38;5;28;01mas\u001b[39;00m err:\n\u001b[0;32m-> 3623\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mKeyError\u001b[39;00m(key) \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01merr\u001b[39;00m\n\u001b[1;32m 3624\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m \u001b[38;5;167;01mTypeError\u001b[39;00m:\n\u001b[1;32m 3625\u001b[0m \u001b[38;5;66;03m# If we have a listlike key, _check_indexing_error will raise\u001b[39;00m\n\u001b[1;32m 3626\u001b[0m \u001b[38;5;66;03m# InvalidIndexError. Otherwise we fall through and re-raise\u001b[39;00m\n\u001b[1;32m 3627\u001b[0m \u001b[38;5;66;03m# the TypeError.\u001b[39;00m\n\u001b[1;32m 3628\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_check_indexing_error(key)\n",
"\u001b[0;31mKeyError\u001b[0m: 'low'"
]
}
],
"source": [
"\"\"\"\n",
"extract from test signal file\n",
"\"\"\"\n",
"import market_trade.signals.Signal1\n",
"\n",
"\n",
"ind_params = {'MeanType': 'SMA', 'window': 5, 'valueType': 'low', 'kDev': 2}\n",
"# df_candle[:3000],ind_params,True,False,True\n",
"# window 5..100 (5) | valueType: 'open', 'low' | 'kdev' : 1..4 (0.1)\n",
"indEl1 = {\n",
" 'df': ask_candlesticks_df[:3000],\n",
" 'params': ind_params,\n",
" 'needFig': False,\n",
" 'showOnlyIndex': False,\n",
" 'drawFig': True\n",
"}\n",
"a = market_trade.signals.Signal1.SignalBollingerBands1({'BB': indEl1})\n"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Kernel for market_trade development",
"language": "python",
"name": "markettrade_kernel"
},
"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.10.4"
}
},
"nbformat": 4,
"nbformat_minor": 5
}

View File

@ -6,9 +6,9 @@
# In[1]:
import market_trade.core.constants
import market_trade.constants
candlesticks_filepaths = [filepath for filepath in market_trade.core.constants.CANDLESTICK_DATASETS_PATH.iterdir()]
candlesticks_filepaths = [filepath for filepath in market_trade.src.constants.CANDLESTICK_DATASETS_PATH.iterdir()]
candlesticks_filepath = candlesticks_filepaths[0]
candlesticks_filepath
@ -69,7 +69,7 @@ a.analiz
# In[5]:
test_candlesticks = pd.read_csv(market_trade.core.constants.TEST_CANDLESTICKS_PATH)
test_candlesticks = pd.read_csv(market_trade.src.constants.TEST_CANDLESTICKS_PATH)
test_candlesticks['date'] = test_candlesticks['timestamp']
test_candlesticks.drop(['timestamp'], axis=1, inplace=True)
test_candlesticks.head()