{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [],
   "source": [
    "import dolphindb as ddb\n",
    "import dolphindb.settings as keys\n",
    "import numpy as np\n",
    "import pandas as pd\n",
    "\n",
    "\n",
    "sess = ddb.session('192.168.64.3',8848)\n",
    "sess.login('admin','123456')\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<dolphindb.session.session at 0x11a5c6790>"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "sess.clearAllCache()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'/hft_fm_combo': 'pt:2:0:pt_2; ',\n",
       " '/db_compo_test': 'pt:2:0:pt_2; ',\n",
       " '/compoDB': 'pt:2:0:pt_2; ',\n",
       " '/daily_futuremarket_ts': 'db_daily_kline:2:0:db_daily_kline_2; '}"
      ]
     },
     "execution_count": 27,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "sess.run('getAllDBs()')"
   ]
  },
  {
   "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>StockID</th>\n",
       "      <th>open</th>\n",
       "      <th>high</th>\n",
       "      <th>low</th>\n",
       "      <th>close</th>\n",
       "      <th>vol</th>\n",
       "      <th>sectional_vol</th>\n",
       "      <th>cjbs</th>\n",
       "      <th>sectional_cjbs</th>\n",
       "      <th>price</th>\n",
       "      <th>yclose</th>\n",
       "      <th>buy_vol</th>\n",
       "      <th>buy_amount</th>\n",
       "      <th>sale_vol</th>\n",
       "      <th>sale_amount</th>\n",
       "      <th>zmm</th>\n",
       "      <th>amount</th>\n",
       "      <th>date</th>\n",
       "      <th>time1</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>17</th>\n",
       "      <td>AP2212</td>\n",
       "      <td>8387.0</td>\n",
       "      <td>8387.0</td>\n",
       "      <td>8387.0</td>\n",
       "      <td>8387.0</td>\n",
       "      <td>9.0</td>\n",
       "      <td>9.0</td>\n",
       "      <td>-9.0</td>\n",
       "      <td>19565</td>\n",
       "      <td>8387.0</td>\n",
       "      <td>8413.0</td>\n",
       "      <td>4.5</td>\n",
       "      <td>37741.5</td>\n",
       "      <td>4.5</td>\n",
       "      <td>37741.5</td>\n",
       "      <td>3</td>\n",
       "      <td>75483.0</td>\n",
       "      <td>2022-09-19</td>\n",
       "      <td>08:59:00</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>18</th>\n",
       "      <td>AP2212</td>\n",
       "      <td>8361.0</td>\n",
       "      <td>8361.0</td>\n",
       "      <td>8361.0</td>\n",
       "      <td>8361.0</td>\n",
       "      <td>8.0</td>\n",
       "      <td>17.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>19565</td>\n",
       "      <td>8361.0</td>\n",
       "      <td>8387.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>8.0</td>\n",
       "      <td>66892.0</td>\n",
       "      <td>2</td>\n",
       "      <td>66892.0</td>\n",
       "      <td>2022-09-19</td>\n",
       "      <td>09:00:00</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>19</th>\n",
       "      <td>AP2212</td>\n",
       "      <td>8356.0</td>\n",
       "      <td>8356.0</td>\n",
       "      <td>8356.0</td>\n",
       "      <td>8356.0</td>\n",
       "      <td>6.0</td>\n",
       "      <td>23.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>19565</td>\n",
       "      <td>8356.0</td>\n",
       "      <td>8361.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>6.0</td>\n",
       "      <td>50158.0</td>\n",
       "      <td>2</td>\n",
       "      <td>50158.0</td>\n",
       "      <td>2022-09-19</td>\n",
       "      <td>09:00:00</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>25</th>\n",
       "      <td>AP2212</td>\n",
       "      <td>8356.0</td>\n",
       "      <td>8356.0</td>\n",
       "      <td>8356.0</td>\n",
       "      <td>8356.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>24.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>19565</td>\n",
       "      <td>8356.0</td>\n",
       "      <td>8356.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>8347.0</td>\n",
       "      <td>2</td>\n",
       "      <td>8347.0</td>\n",
       "      <td>2022-09-19</td>\n",
       "      <td>09:00:05</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>30</th>\n",
       "      <td>AP2212</td>\n",
       "      <td>8397.0</td>\n",
       "      <td>8397.0</td>\n",
       "      <td>8397.0</td>\n",
       "      <td>8397.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>25.0</td>\n",
       "      <td>-1.0</td>\n",
       "      <td>19564</td>\n",
       "      <td>8397.0</td>\n",
       "      <td>8356.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>8395.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1</td>\n",
       "      <td>8395.0</td>\n",
       "      <td>2022-09-19</td>\n",
       "      <td>09:00:09</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",
       "      <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>2336544</th>\n",
       "      <td>AP2212</td>\n",
       "      <td>8744.0</td>\n",
       "      <td>8744.0</td>\n",
       "      <td>8744.0</td>\n",
       "      <td>8744.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>2583.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>13718</td>\n",
       "      <td>8744.0</td>\n",
       "      <td>8756.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>8722.0</td>\n",
       "      <td>2</td>\n",
       "      <td>8722.0</td>\n",
       "      <td>2022-11-01</td>\n",
       "      <td>09:25:28</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2336547</th>\n",
       "      <td>AP2212</td>\n",
       "      <td>8746.0</td>\n",
       "      <td>8746.0</td>\n",
       "      <td>8746.0</td>\n",
       "      <td>8746.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>2584.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>13718</td>\n",
       "      <td>8746.0</td>\n",
       "      <td>8744.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>8722.0</td>\n",
       "      <td>2</td>\n",
       "      <td>8722.0</td>\n",
       "      <td>2022-11-01</td>\n",
       "      <td>09:25:34</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2336549</th>\n",
       "      <td>AP2212</td>\n",
       "      <td>8743.0</td>\n",
       "      <td>8743.0</td>\n",
       "      <td>8743.0</td>\n",
       "      <td>8743.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>2585.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>13718</td>\n",
       "      <td>8743.0</td>\n",
       "      <td>8746.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>8722.0</td>\n",
       "      <td>2</td>\n",
       "      <td>8722.0</td>\n",
       "      <td>2022-11-01</td>\n",
       "      <td>09:25:37</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2336592</th>\n",
       "      <td>AP2212</td>\n",
       "      <td>8747.0</td>\n",
       "      <td>8747.0</td>\n",
       "      <td>8747.0</td>\n",
       "      <td>8747.0</td>\n",
       "      <td>2.0</td>\n",
       "      <td>2587.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>13718</td>\n",
       "      <td>8747.0</td>\n",
       "      <td>8743.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>2.0</td>\n",
       "      <td>17444.0</td>\n",
       "      <td>2</td>\n",
       "      <td>17444.0</td>\n",
       "      <td>2022-11-01</td>\n",
       "      <td>09:26:59</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2336594</th>\n",
       "      <td>AP2212</td>\n",
       "      <td>8747.0</td>\n",
       "      <td>8747.0</td>\n",
       "      <td>8747.0</td>\n",
       "      <td>8747.0</td>\n",
       "      <td>3.0</td>\n",
       "      <td>2590.0</td>\n",
       "      <td>3.0</td>\n",
       "      <td>13721</td>\n",
       "      <td>8747.0</td>\n",
       "      <td>8747.0</td>\n",
       "      <td>3.0</td>\n",
       "      <td>26166.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1</td>\n",
       "      <td>26166.0</td>\n",
       "      <td>2022-11-01</td>\n",
       "      <td>09:27:03</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>40456 rows × 19 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "        StockID    open    high     low   close  vol  sectional_vol  cjbs  \\\n",
       "17       AP2212  8387.0  8387.0  8387.0  8387.0  9.0            9.0  -9.0   \n",
       "18       AP2212  8361.0  8361.0  8361.0  8361.0  8.0           17.0   0.0   \n",
       "19       AP2212  8356.0  8356.0  8356.0  8356.0  6.0           23.0   0.0   \n",
       "25       AP2212  8356.0  8356.0  8356.0  8356.0  1.0           24.0   0.0   \n",
       "30       AP2212  8397.0  8397.0  8397.0  8397.0  1.0           25.0  -1.0   \n",
       "...         ...     ...     ...     ...     ...  ...            ...   ...   \n",
       "2336544  AP2212  8744.0  8744.0  8744.0  8744.0  1.0         2583.0   0.0   \n",
       "2336547  AP2212  8746.0  8746.0  8746.0  8746.0  1.0         2584.0   0.0   \n",
       "2336549  AP2212  8743.0  8743.0  8743.0  8743.0  1.0         2585.0   0.0   \n",
       "2336592  AP2212  8747.0  8747.0  8747.0  8747.0  2.0         2587.0   0.0   \n",
       "2336594  AP2212  8747.0  8747.0  8747.0  8747.0  3.0         2590.0   3.0   \n",
       "\n",
       "         sectional_cjbs   price  yclose  buy_vol  buy_amount  sale_vol  \\\n",
       "17                19565  8387.0  8413.0      4.5     37741.5       4.5   \n",
       "18                19565  8361.0  8387.0      0.0         0.0       8.0   \n",
       "19                19565  8356.0  8361.0      0.0         0.0       6.0   \n",
       "25                19565  8356.0  8356.0      0.0         0.0       1.0   \n",
       "30                19564  8397.0  8356.0      1.0      8395.0       0.0   \n",
       "...                 ...     ...     ...      ...         ...       ...   \n",
       "2336544           13718  8744.0  8756.0      0.0         0.0       1.0   \n",
       "2336547           13718  8746.0  8744.0      0.0         0.0       1.0   \n",
       "2336549           13718  8743.0  8746.0      0.0         0.0       1.0   \n",
       "2336592           13718  8747.0  8743.0      0.0         0.0       2.0   \n",
       "2336594           13721  8747.0  8747.0      3.0     26166.0       0.0   \n",
       "\n",
       "         sale_amount  zmm   amount       date     time1  \n",
       "17           37741.5    3  75483.0 2022-09-19  08:59:00  \n",
       "18           66892.0    2  66892.0 2022-09-19  09:00:00  \n",
       "19           50158.0    2  50158.0 2022-09-19  09:00:00  \n",
       "25            8347.0    2   8347.0 2022-09-19  09:00:05  \n",
       "30               0.0    1   8395.0 2022-09-19  09:00:09  \n",
       "...              ...  ...      ...        ...       ...  \n",
       "2336544       8722.0    2   8722.0 2022-11-01  09:25:28  \n",
       "2336547       8722.0    2   8722.0 2022-11-01  09:25:34  \n",
       "2336549       8722.0    2   8722.0 2022-11-01  09:25:37  \n",
       "2336592      17444.0    2  17444.0 2022-11-01  09:26:59  \n",
       "2336594          0.0    1  26166.0 2022-11-01  09:27:03  \n",
       "\n",
       "[40456 rows x 19 columns]"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "import pandas as pd\n",
    "df = pd.read_csv('data/trade_AP2211+AP2212+AP2301+AP2303+AP2304+AP2305+AP2310+CF2211+CF2301+CF2303+CF2305+CF2307+CF2309_20220919_20221101.csv',index_col=None)\n",
    "df.drop(columns=['Unnamed: 0'],inplace=True)\n",
    "df=df[df['time1']<'09:30:00']\n",
    "df = df[df['vol']>0]\n",
    "df['date']=df['date'].astype('datetime64[D]')\n",
    "df"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [],
   "source": [
    "df['init']=df['init'].astype('str')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [],
   "source": [
    "df['init']=df['StockID'].apply(lambda x:x[:-4])\n",
    "df['finishm']=df['StockID'].apply(lambda x:x[-4:])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array(['AP'], dtype=object)"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df['init'].unique()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "71"
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "all_init={'sc', 'v', 'TS', 'MA', 'AP', 'jm', 'bc', 'bb', 'fu', 'IM', 'IF', 'a', 'lu', 'FG', 'cu', 'al', 'IH', 'RS', 'pg', 'CF', 'SF', 'ni', 'hc', 'UR', 'm', 'SR', 'j', 'PF', 'RM', 'T', 'c', 'JR', 'l', 'p', 'sp', 'CY', 'pb', 'TF', 'b', 'eg', 'rb', 'PK', 'sn', 'nr', 'pp', 'CJ', 'eb', 'SA', 'y', 'RI', 'lh', 'jd', 'OI', 'WH', 'ss', 'ru', 'zn', 'fb', 'rr', 'PM', 'au', 'TA', 'ZC', 'IC', 'bu', 'SM', 'wr', 'cs', 'LR', 'ag', 'i'}\n",
    "len(all_init)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [],
   "source": [
    "db_init = sess.database(dbName='db_init', partitionType=keys.VALUE, partitions=list(all_init),dbPath='')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "db_code = sess.database(dbName='db_code', partitionType=keys.HASH, partitions=list(all_init),dbPath='')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "DatetimeIndex(['1990-01-31', '1990-02-28', '1990-03-31', '1990-04-30',\n",
      "               '1990-05-31', '1990-06-30', '1990-07-31', '1990-08-31',\n",
      "               '1990-09-30', '1990-10-31',\n",
      "               ...\n",
      "               '2050-03-31', '2050-04-30', '2050-05-31', '2050-06-30',\n",
      "               '2050-07-31', '2050-08-31', '2050-09-30', '2050-10-31',\n",
      "               '2050-11-30', '2050-12-31'],\n",
      "              dtype='datetime64[ns]', length=732, freq='M')\n"
     ]
    }
   ],
   "source": [
    "import numpy as np\n",
    "import pandas as pd\n",
    "dr = pd.date_range(start='1990-01-01', end='2050-12-31', freq=\"M\")\n",
    "months=np.array(dr, dtype=\"datetime64[M]\")\n",
    "print(dr)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "['1990-01' '1990-02' '1990-03' '1990-04' '1990-05' '1990-06' '1990-07'\n",
      " '1990-08' '1990-09' '1990-10' '1990-11' '1990-12' '1991-01' '1991-02'\n",
      " '1991-03' '1991-04' '1991-05' '1991-06' '1991-07' '1991-08' '1991-09'\n",
      " '1991-10' '1991-11' '1991-12' '1992-01' '1992-02' '1992-03' '1992-04'\n",
      " '1992-05' '1992-06' '1992-07' '1992-08' '1992-09' '1992-10' '1992-11'\n",
      " '1992-12' '1993-01' '1993-02' '1993-03' '1993-04' '1993-05' '1993-06'\n",
      " '1993-07' '1993-08' '1993-09' '1993-10' '1993-11' '1993-12' '1994-01'\n",
      " '1994-02' '1994-03' '1994-04' '1994-05' '1994-06' '1994-07' '1994-08'\n",
      " '1994-09' '1994-10' '1994-11' '1994-12' '1995-01' '1995-02' '1995-03'\n",
      " '1995-04' '1995-05' '1995-06' '1995-07' '1995-08' '1995-09' '1995-10'\n",
      " '1995-11' '1995-12' '1996-01' '1996-02' '1996-03' '1996-04' '1996-05'\n",
      " '1996-06' '1996-07' '1996-08' '1996-09' '1996-10' '1996-11' '1996-12'\n",
      " '1997-01' '1997-02' '1997-03' '1997-04' '1997-05' '1997-06' '1997-07'\n",
      " '1997-08' '1997-09' '1997-10' '1997-11' '1997-12' '1998-01' '1998-02'\n",
      " '1998-03' '1998-04' '1998-05' '1998-06' '1998-07' '1998-08' '1998-09'\n",
      " '1998-10' '1998-11' '1998-12' '1999-01' '1999-02' '1999-03' '1999-04'\n",
      " '1999-05' '1999-06' '1999-07' '1999-08' '1999-09' '1999-10' '1999-11'\n",
      " '1999-12' '2000-01' '2000-02' '2000-03' '2000-04' '2000-05' '2000-06'\n",
      " '2000-07' '2000-08' '2000-09' '2000-10' '2000-11' '2000-12' '2001-01'\n",
      " '2001-02' '2001-03' '2001-04' '2001-05' '2001-06' '2001-07' '2001-08'\n",
      " '2001-09' '2001-10' '2001-11' '2001-12' '2002-01' '2002-02' '2002-03'\n",
      " '2002-04' '2002-05' '2002-06' '2002-07' '2002-08' '2002-09' '2002-10'\n",
      " '2002-11' '2002-12' '2003-01' '2003-02' '2003-03' '2003-04' '2003-05'\n",
      " '2003-06' '2003-07' '2003-08' '2003-09' '2003-10' '2003-11' '2003-12'\n",
      " '2004-01' '2004-02' '2004-03' '2004-04' '2004-05' '2004-06' '2004-07'\n",
      " '2004-08' '2004-09' '2004-10' '2004-11' '2004-12' '2005-01' '2005-02'\n",
      " '2005-03' '2005-04' '2005-05' '2005-06' '2005-07' '2005-08' '2005-09'\n",
      " '2005-10' '2005-11' '2005-12' '2006-01' '2006-02' '2006-03' '2006-04'\n",
      " '2006-05' '2006-06' '2006-07' '2006-08' '2006-09' '2006-10' '2006-11'\n",
      " '2006-12' '2007-01' '2007-02' '2007-03' '2007-04' '2007-05' '2007-06'\n",
      " '2007-07' '2007-08' '2007-09' '2007-10' '2007-11' '2007-12' '2008-01'\n",
      " '2008-02' '2008-03' '2008-04' '2008-05' '2008-06' '2008-07' '2008-08'\n",
      " '2008-09' '2008-10' '2008-11' '2008-12' '2009-01' '2009-02' '2009-03'\n",
      " '2009-04' '2009-05' '2009-06' '2009-07' '2009-08' '2009-09' '2009-10'\n",
      " '2009-11' '2009-12' '2010-01' '2010-02' '2010-03' '2010-04' '2010-05'\n",
      " '2010-06' '2010-07' '2010-08' '2010-09' '2010-10' '2010-11' '2010-12'\n",
      " '2011-01' '2011-02' '2011-03' '2011-04' '2011-05' '2011-06' '2011-07'\n",
      " '2011-08' '2011-09' '2011-10' '2011-11' '2011-12' '2012-01' '2012-02'\n",
      " '2012-03' '2012-04' '2012-05' '2012-06' '2012-07' '2012-08' '2012-09'\n",
      " '2012-10' '2012-11' '2012-12' '2013-01' '2013-02' '2013-03' '2013-04'\n",
      " '2013-05' '2013-06' '2013-07' '2013-08' '2013-09' '2013-10' '2013-11'\n",
      " '2013-12' '2014-01' '2014-02' '2014-03' '2014-04' '2014-05' '2014-06'\n",
      " '2014-07' '2014-08' '2014-09' '2014-10' '2014-11' '2014-12' '2015-01'\n",
      " '2015-02' '2015-03' '2015-04' '2015-05' '2015-06' '2015-07' '2015-08'\n",
      " '2015-09' '2015-10' '2015-11' '2015-12' '2016-01' '2016-02' '2016-03'\n",
      " '2016-04' '2016-05' '2016-06' '2016-07' '2016-08' '2016-09' '2016-10'\n",
      " '2016-11' '2016-12' '2017-01' '2017-02' '2017-03' '2017-04' '2017-05'\n",
      " '2017-06' '2017-07' '2017-08' '2017-09' '2017-10' '2017-11' '2017-12'\n",
      " '2018-01' '2018-02' '2018-03' '2018-04' '2018-05' '2018-06' '2018-07'\n",
      " '2018-08' '2018-09' '2018-10' '2018-11' '2018-12' '2019-01' '2019-02'\n",
      " '2019-03' '2019-04' '2019-05' '2019-06' '2019-07' '2019-08' '2019-09'\n",
      " '2019-10' '2019-11' '2019-12' '2020-01' '2020-02' '2020-03' '2020-04'\n",
      " '2020-05' '2020-06' '2020-07' '2020-08' '2020-09' '2020-10' '2020-11'\n",
      " '2020-12' '2021-01' '2021-02' '2021-03' '2021-04' '2021-05' '2021-06'\n",
      " '2021-07' '2021-08' '2021-09' '2021-10' '2021-11' '2021-12' '2022-01'\n",
      " '2022-02' '2022-03' '2022-04' '2022-05' '2022-06' '2022-07' '2022-08'\n",
      " '2022-09' '2022-10' '2022-11' '2022-12' '2023-01' '2023-02' '2023-03'\n",
      " '2023-04' '2023-05' '2023-06' '2023-07' '2023-08' '2023-09' '2023-10'\n",
      " '2023-11' '2023-12' '2024-01' '2024-02' '2024-03' '2024-04' '2024-05'\n",
      " '2024-06' '2024-07' '2024-08' '2024-09' '2024-10' '2024-11' '2024-12'\n",
      " '2025-01' '2025-02' '2025-03' '2025-04' '2025-05' '2025-06' '2025-07'\n",
      " '2025-08' '2025-09' '2025-10' '2025-11' '2025-12' '2026-01' '2026-02'\n",
      " '2026-03' '2026-04' '2026-05' '2026-06' '2026-07' '2026-08' '2026-09'\n",
      " '2026-10' '2026-11' '2026-12' '2027-01' '2027-02' '2027-03' '2027-04'\n",
      " '2027-05' '2027-06' '2027-07' '2027-08' '2027-09' '2027-10' '2027-11'\n",
      " '2027-12' '2028-01' '2028-02' '2028-03' '2028-04' '2028-05' '2028-06'\n",
      " '2028-07' '2028-08' '2028-09' '2028-10' '2028-11' '2028-12' '2029-01'\n",
      " '2029-02' '2029-03' '2029-04' '2029-05' '2029-06' '2029-07' '2029-08'\n",
      " '2029-09' '2029-10' '2029-11' '2029-12' '2030-01' '2030-02' '2030-03'\n",
      " '2030-04' '2030-05' '2030-06' '2030-07' '2030-08' '2030-09' '2030-10'\n",
      " '2030-11' '2030-12' '2031-01' '2031-02' '2031-03' '2031-04' '2031-05'\n",
      " '2031-06' '2031-07' '2031-08' '2031-09' '2031-10' '2031-11' '2031-12'\n",
      " '2032-01' '2032-02' '2032-03' '2032-04' '2032-05' '2032-06' '2032-07'\n",
      " '2032-08' '2032-09' '2032-10' '2032-11' '2032-12' '2033-01' '2033-02'\n",
      " '2033-03' '2033-04' '2033-05' '2033-06' '2033-07' '2033-08' '2033-09'\n",
      " '2033-10' '2033-11' '2033-12' '2034-01' '2034-02' '2034-03' '2034-04'\n",
      " '2034-05' '2034-06' '2034-07' '2034-08' '2034-09' '2034-10' '2034-11'\n",
      " '2034-12' '2035-01' '2035-02' '2035-03' '2035-04' '2035-05' '2035-06'\n",
      " '2035-07' '2035-08' '2035-09' '2035-10' '2035-11' '2035-12' '2036-01'\n",
      " '2036-02' '2036-03' '2036-04' '2036-05' '2036-06' '2036-07' '2036-08'\n",
      " '2036-09' '2036-10' '2036-11' '2036-12' '2037-01' '2037-02' '2037-03'\n",
      " '2037-04' '2037-05' '2037-06' '2037-07' '2037-08' '2037-09' '2037-10'\n",
      " '2037-11' '2037-12' '2038-01' '2038-02' '2038-03' '2038-04' '2038-05'\n",
      " '2038-06' '2038-07' '2038-08' '2038-09' '2038-10' '2038-11' '2038-12'\n",
      " '2039-01' '2039-02' '2039-03' '2039-04' '2039-05' '2039-06' '2039-07'\n",
      " '2039-08' '2039-09' '2039-10' '2039-11' '2039-12' '2040-01' '2040-02'\n",
      " '2040-03' '2040-04' '2040-05' '2040-06' '2040-07' '2040-08' '2040-09'\n",
      " '2040-10' '2040-11' '2040-12' '2041-01' '2041-02' '2041-03' '2041-04'\n",
      " '2041-05' '2041-06' '2041-07' '2041-08' '2041-09' '2041-10' '2041-11'\n",
      " '2041-12' '2042-01' '2042-02' '2042-03' '2042-04' '2042-05' '2042-06'\n",
      " '2042-07' '2042-08' '2042-09' '2042-10' '2042-11' '2042-12' '2043-01'\n",
      " '2043-02' '2043-03' '2043-04' '2043-05' '2043-06' '2043-07' '2043-08'\n",
      " '2043-09' '2043-10' '2043-11' '2043-12' '2044-01' '2044-02' '2044-03'\n",
      " '2044-04' '2044-05' '2044-06' '2044-07' '2044-08' '2044-09' '2044-10'\n",
      " '2044-11' '2044-12' '2045-01' '2045-02' '2045-03' '2045-04' '2045-05'\n",
      " '2045-06' '2045-07' '2045-08' '2045-09' '2045-10' '2045-11' '2045-12'\n",
      " '2046-01' '2046-02' '2046-03' '2046-04' '2046-05' '2046-06' '2046-07'\n",
      " '2046-08' '2046-09' '2046-10' '2046-11' '2046-12' '2047-01' '2047-02'\n",
      " '2047-03' '2047-04' '2047-05' '2047-06' '2047-07' '2047-08' '2047-09'\n",
      " '2047-10' '2047-11' '2047-12' '2048-01' '2048-02' '2048-03' '2048-04'\n",
      " '2048-05' '2048-06' '2048-07' '2048-08' '2048-09' '2048-10' '2048-11'\n",
      " '2048-12' '2049-01' '2049-02' '2049-03' '2049-04' '2049-05' '2049-06'\n",
      " '2049-07' '2049-08' '2049-09' '2049-10' '2049-11' '2049-12' '2050-01'\n",
      " '2050-02' '2050-03' '2050-04' '2050-05' '2050-06' '2050-07' '2050-08'\n",
      " '2050-09' '2050-10' '2050-11' '2050-12']\n"
     ]
    }
   ],
   "source": [
    "months=np.array(pd.date_range(start='2000-01-01', end='2050-12-31', freq=\"M\"), dtype=\"datetime64[M]\")\n",
    "print(months)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [],
   "source": [
    "\n",
    "db_date = sess.database('db_date', partitionType=keys.VALUE, partitions=months, dbPath='')\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [],
   "source": [
    "dbPath = 'dfs://hft_fm_combo'\n",
    "if sess.existsDatabase(dbPath): \n",
    "    sess.dropDatabase(dbPath)\n",
    "db = sess.database(dbName='db_hft_fm_3', partitionType=keys.COMPO, partitions=[db_date, db_init], dbPath=dbPath)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "# sess.run(\"\"\"\n",
    "#         {dbName} = database(\n",
    "#             directory = '{dbPath}', \n",
    "#             partitionType = COMPO, \n",
    "#             partitionScheme = [db_date, db_init])\n",
    "#     \"\"\".format(\n",
    "#         dbName = 'db_hft_fm_3',\n",
    "#         dbPath = 'hft_futuremarket_ts_combo'\n",
    "#     ))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {},
   "outputs": [],
   "source": [
    "t = sess.table(data=df,tableAliasName='table')\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "sess.run(\"\"\"\n",
    "            {ddb_dbname}.createPartitionedTable(\n",
    "                table = {memory_table_name}, \n",
    "                tableName = `{partition_table_name}, \n",
    "                partitionColumns = `date`StockID, \n",
    "                sortColumns = `StockID`date,\n",
    "                compressMethods = {{date:\"delta\"}}\n",
    "            )\n",
    "        \"\"\".format(\n",
    "            ddb_dbname = 'db_hft_fm_3',\n",
    "            memory_table_name = 'testData',\n",
    "            partition_table_name = 'pt3'\n",
    "        ))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {},
   "outputs": [],
   "source": [
    "pt =db.createPartitionedTable(table=t, tableName=\"pt\", partitionColumns=['date', 'init'])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<dolphindb.table.Table at 0x12684d340>"
      ]
     },
     "execution_count": 25,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "pt.append(t)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'/hft_fm_combo': 'pt:2:0:pt_2; ',\n",
       " '/db_compo_test': 'pt:2:0:pt_2; ',\n",
       " '/compoDB': 'pt:2:0:pt_2; ',\n",
       " '/daily_futuremarket_ts': 'db_daily_kline:2:0:db_daily_kline_2; '}"
      ]
     },
     "execution_count": 26,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "sess.run('getAllDBs()')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "df = pd.DataFrame({'date': np.array(['2012-01-01', '2012-02-01', '2012-05-01', '2012-06-01'], dtype=\"datetime64\"), 'val':[1,2,3,4],'code':['AP2313','FD1023','AP1023','ED2333']})\n",
    "df\n",
    "df['init']=df['code'].apply(lambda x: x[:2])\n",
    "df\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "\n",
    "dbPath=\"dfs://db_compo_test\"\n",
    "if sess.existsDatabase(dbPath):\n",
    "    sess.dropDatabase(dbPath)\n",
    "\n",
    "months=np.array(pd.date_range(start='2012-01', end='2012-10', freq=\"M\"), dtype=\"datetime64[M]\")\n",
    "\n",
    "db1 = sess.database('db1', partitionType=keys.VALUE,partitions=months, dbPath='')\n",
    "\n",
    "db2 = sess.database('db2', partitionType=keys.RANGE,partitions=[1, 6, 11], dbPath='')\n",
    "# dbPath=\"dfs://db_compo_test\"\n",
    "if sess.existsDatabase(dbPath):\n",
    "    sess.dropDatabase(dbPath)\n",
    "db = sess.database(dbName='mydb', partitionType=keys.COMPO, partitions=[db1, db2], dbPath=dbPath)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "df2 = pd.DataFrame({'date':np.array(['2012-01-01', '2012-01-01', '2012-02-06', '2012-03-06'], dtype='datetime64'), 'val': [1, 6, 1, 6]})\n",
    "t = sess.table(data=df2)\n",
    "# df['date'].dtype()\n",
    "df2"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "\n",
    "db.createPartitionedTable(table=t, tableName='pt', partitionColumns=['date', 'val']).append(t)\n",
    "re = sess.loadTable(tableName='pt', dbPath=dbPath).toDF()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2022-11-09 15:44:17.606 | INFO     | src.TSLfm:__enter__:18 - Logging in TSL.\n",
      "2022-11-09 15:44:17.762 | DEBUG    | src.TSLfm:get_trade_tick:136 - \n",
      "            stock_list := Array('CF2211', 'CF2301', 'CF2303', 'CF2305', 'CF2307', 'CF2309');\n",
      "            r := select \n",
      "                ['StockID'] as 'code',\n",
      "                DateTimeToStr(['date']) as 'm_nDatetime',\n",
      "\n",
      "                ['price'] as 'm_nPrice',\n",
      "                ['open'] as 'm_nOpen',\n",
      "                ['high'] as 'm_nHigh',\n",
      "                ['low'] as 'm_nLow',\n",
      "                ['close'] as 'm_nClose',\n",
      "\n",
      "                ['sectional_high'] as 'm_nAccHigh',\n",
      "                ['sectional_low'] as 'm_nAccLow',\n",
      "\n",
      "                ['vol'] as 'm_iVolume', //成交量\n",
      "                ['sectional_vol'] as 'm_iAccVolume', //时点当日累计成交量\n",
      "\n",
      "                ['cjbs'] as 'm_nMatchItems', // 成交笔数 周期内的持仓的变动量\n",
      "                ['sectional_cjbs'] as 'm_nAccMatchItems',\n",
      "\n",
      "                ['amount'] as 'm_iTurnover', //成交金额\n",
      "                ['sectional_amount'] as 'm_iAccTurnover', \n",
      "\n",
      "                ['yclose'] as 'm_nPreClose', //上一周期的收盘价\n",
      "                ['sectional_yclose'] as 'm_nAccPreClose', // 前日收盘\n",
      "                \n",
      "                ['buy1'] as 'm_nBidPrice', //买一价?叫卖价?\n",
      "                ['bc1'] as 'm_nBidVolume', //买一量 当前以买一价出价的委买量\n",
      "                ['sale1'] as 'm_nAskPrice', \n",
      "                ['sc1'] as 'm_nAskVolume', \n",
      "\n",
      "                ['zmm'] as 'm_iABFlag', //买卖标识\n",
      "\n",
      "                ['buy_vol'] as 'm_nActBidVolume', //主买量\n",
      "                ['sectional_buy_vol'] as 'm_nAccActBidVolume', //时点当日累计主买量\n",
      "                ['buy_amount'] as 'm_nActBidTurnover', //主买金额\n",
      "                ['sectional_buy_amount'] as 'm_nAccActBidTurnover', \n",
      "\n",
      "                ['sale_vol'] as 'm_nActAskVolume', \n",
      "                ['sectional_sale_vol'] as 'm_nAccActAskVolume', \n",
      "                ['sale_amount'] as 'm_nActAskTurnover',\n",
      "                ['sectional_sale_amount'] as 'm_nAccActAskTurnover', \n",
      "\n",
      "                ['w_buy'] as 'm_nBidOrder', //委买\n",
      "                ['sectional_w_buy'] as 'm_nAccBidOrder', \n",
      "                ['w_sale'] as 'm_nAskOrder',\n",
      "                ['sectional_w_sale'] as 'm_nAccAskOrder',\n",
      "\n",
      "                ['wb'] as 'm_nABOrderRate', //委比\n",
      "                ['sectional_wb'] as 'm_nAccABOrderRate', //时点当日累计委比\n",
      "                ['lb'] as 'm_nMItemsVolRate'//量比\n",
      "\n",
      "                from tradetable\n",
      "                datekey 20221101T to 20221101T+0.999 \n",
      "                of stock_list\n",
      "            end;\n",
      "            \n",
      "            return r;        \n",
      "        \n",
      "2022-11-09 15:44:37.198 | INFO     | src.TSLfm:process_result_data_type:215 - Processing new df of shape (112175, 37), which looks like\n",
      "     code          m_nDatetime  m_nPrice  m_nOpen  m_nHigh   m_nLow  m_nClose  \\\n",
      "0  CF2303  2022-11-01 09:00:00   12365.0  12365.0  12365.0  12365.0   12365.0   \n",
      "1  CF2303  2022-11-01 09:00:01   12375.0  12375.0  12375.0  12375.0   12375.0   \n",
      "2  CF2303  2022-11-01 09:00:02   12370.0  12370.0  12370.0  12370.0   12370.0   \n",
      "3  CF2303  2022-11-01 09:00:02   12370.0  12370.0  12370.0  12370.0   12370.0   \n",
      "4  CF2303  2022-11-01 09:00:03   12350.0  12350.0  12350.0  12350.0   12350.0   \n",
      "\n",
      "   m_nAccHigh  m_nAccLow  m_iVolume  m_iAccVolume  m_nMatchItems  \\\n",
      "0     12370.0    12250.0       13.0       20959.0           -7.0   \n",
      "1     12375.0    12250.0        6.0       20965.0            2.0   \n",
      "2     12375.0    12250.0        2.0       20967.0           -2.0   \n",
      "3     12375.0    12250.0        1.0       20968.0           -1.0   \n",
      "4     12375.0    12250.0       21.0       20989.0            0.0   \n",
      "\n",
      "   m_nAccMatchItems  m_iTurnover  m_iAccTurnover  m_nPreClose  m_nAccPreClose  \\\n",
      "0            163532     159965.0     257900495.0      12270.0         12390.0   \n",
      "1            163534      73830.0     257974325.0      12365.0         12390.0   \n",
      "2            163532      24610.0     257998935.0      12375.0         12390.0   \n",
      "3            163531      12305.0     258011240.0      12370.0         12390.0   \n",
      "4            163531     258405.0     258269645.0      12370.0         12390.0   \n",
      "\n",
      "   m_nBidPrice  m_nBidVolume  m_nAskPrice  m_nAskVolume  m_iABFlag  \\\n",
      "0      12365.0             2      12370.0             1          1   \n",
      "1      12360.0             2      12370.0           111          1   \n",
      "2      12345.0             3      12355.0            98          1   \n",
      "3      12340.0             1      12350.0            97          1   \n",
      "4      12340.0            10      12350.0            19          1   \n",
      "\n",
      "   m_nActBidVolume  m_nAccActBidVolume  m_nActBidTurnover  \\\n",
      "0             13.0             10529.0           159965.0   \n",
      "1              6.0             10535.0            73830.0   \n",
      "2              2.0             10537.0            24610.0   \n",
      "3              1.0             10538.0            12305.0   \n",
      "4             21.0             10559.0           258405.0   \n",
      "\n",
      "   m_nAccActBidTurnover  m_nActAskVolume  m_nAccActAskVolume  \\\n",
      "0           129574875.0              0.0             10430.0   \n",
      "1           129648705.0              0.0             10430.0   \n",
      "2           129673315.0              0.0             10430.0   \n",
      "3           129685620.0              0.0             10430.0   \n",
      "4           129944025.0              0.0             10430.0   \n",
      "\n",
      "   m_nActAskTurnover  m_nAccActAskTurnover  m_nBidOrder  m_nAccBidOrder  \\\n",
      "0                0.0           128325620.0          2.0        405687.0   \n",
      "1                0.0           128325620.0          2.0        405689.0   \n",
      "2                0.0           128325620.0          3.0        405692.0   \n",
      "3                0.0           128325620.0          1.0        405693.0   \n",
      "4                0.0           128325620.0         10.0        405703.0   \n",
      "\n",
      "   m_nAskOrder  m_nAccAskOrder  m_nABOrderRate  m_nAccABOrderRate  \\\n",
      "0          1.0        352340.0        2.000000           1.151408   \n",
      "1        111.0        352451.0        0.018018           1.151051   \n",
      "2         98.0        352549.0        0.030612           1.150739   \n",
      "3         97.0        352646.0        0.010309           1.150426   \n",
      "4         19.0        352665.0        0.526316           1.150392   \n",
      "\n",
      "   m_nMItemsVolRate  \n",
      "0               0.0  \n",
      "1               0.0  \n",
      "2               0.0  \n",
      "3               0.0  \n",
      "4               0.0  \n",
      "2022-11-09 15:44:37.288 | INFO     | src.TSLfm:process_result_data_type:229 - Processing done, new df looks like\n",
      "     code         m_nDatetime  m_nPrice  m_nOpen  m_nHigh   m_nLow  m_nClose  \\\n",
      "0  CF2303 2022-11-01 09:00:00   12365.0  12365.0  12365.0  12365.0   12365.0   \n",
      "1  CF2303 2022-11-01 09:00:01   12375.0  12375.0  12375.0  12375.0   12375.0   \n",
      "2  CF2303 2022-11-01 09:00:02   12370.0  12370.0  12370.0  12370.0   12370.0   \n",
      "3  CF2303 2022-11-01 09:00:02   12370.0  12370.0  12370.0  12370.0   12370.0   \n",
      "4  CF2303 2022-11-01 09:00:03   12350.0  12350.0  12350.0  12350.0   12350.0   \n",
      "\n",
      "   m_nAccHigh  m_nAccLow  m_iVolume  m_iAccVolume  m_nMatchItems  \\\n",
      "0     12370.0    12250.0         13         20959             -7   \n",
      "1     12375.0    12250.0          6         20965              2   \n",
      "2     12375.0    12250.0          2         20967             -2   \n",
      "3     12375.0    12250.0          1         20968             -1   \n",
      "4     12375.0    12250.0         21         20989              0   \n",
      "\n",
      "   m_nAccMatchItems  m_iTurnover  m_iAccTurnover  m_nPreClose  m_nAccPreClose  \\\n",
      "0             32460     159965.0     257900495.0      12270.0         12390.0   \n",
      "1             32462      73830.0     257974325.0      12365.0         12390.0   \n",
      "2             32460      24610.0     257998935.0      12375.0         12390.0   \n",
      "3             32459      12305.0     258011240.0      12370.0         12390.0   \n",
      "4             32459     258405.0     258269645.0      12370.0         12390.0   \n",
      "\n",
      "   m_nBidPrice  m_nBidVolume  m_nAskPrice  m_nAskVolume  m_iABFlag  \\\n",
      "0      12365.0             2      12370.0             1          1   \n",
      "1      12360.0             2      12370.0           111          1   \n",
      "2      12345.0             3      12355.0            98          1   \n",
      "3      12340.0             1      12350.0            97          1   \n",
      "4      12340.0            10      12350.0            19          1   \n",
      "\n",
      "   m_nActBidVolume  m_nAccActBidVolume  m_nActBidTurnover  \\\n",
      "0               13               10529           159965.0   \n",
      "1                6               10535            73830.0   \n",
      "2                2               10537            24610.0   \n",
      "3                1               10538            12305.0   \n",
      "4               21               10559           258405.0   \n",
      "\n",
      "   m_nAccActBidTurnover  m_nActAskVolume  m_nAccActAskVolume  \\\n",
      "0           129574875.0                0               10430   \n",
      "1           129648705.0                0               10430   \n",
      "2           129673315.0                0               10430   \n",
      "3           129685620.0                0               10430   \n",
      "4           129944025.0                0               10430   \n",
      "\n",
      "   m_nActAskTurnover  m_nAccActAskTurnover  m_nBidOrder  m_nAccBidOrder  \\\n",
      "0                0.0           128325620.0          2.0        405687.0   \n",
      "1                0.0           128325620.0          2.0        405689.0   \n",
      "2                0.0           128325620.0          3.0        405692.0   \n",
      "3                0.0           128325620.0          1.0        405693.0   \n",
      "4                0.0           128325620.0         10.0        405703.0   \n",
      "\n",
      "   m_nAskOrder  m_nAccAskOrder  m_nABOrderRate  m_nAccABOrderRate  \\\n",
      "0          1.0        352340.0        2.000000           1.151408   \n",
      "1        111.0        352451.0        0.018018           1.151051   \n",
      "2         98.0        352549.0        0.030612           1.150739   \n",
      "3         97.0        352646.0        0.010309           1.150426   \n",
      "4         19.0        352665.0        0.526316           1.150392   \n",
      "\n",
      "   m_nMItemsVolRate code_init  \n",
      "0               0.0        CF  \n",
      "1               0.0        CF  \n",
      "2               0.0        CF  \n",
      "3               0.0        CF  \n",
      "4               0.0        CF  \n",
      "2022-11-09 15:44:37.295 | INFO     | src.TSLfm:__exit__:24 - Logging out TSL.\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(112175, 38)\n",
      "     code         m_nDatetime  m_nPrice  m_nOpen  m_nHigh   m_nLow  m_nClose  \\\n",
      "0  CF2303 2022-11-01 09:00:00   12365.0  12365.0  12365.0  12365.0   12365.0   \n",
      "1  CF2303 2022-11-01 09:00:01   12375.0  12375.0  12375.0  12375.0   12375.0   \n",
      "2  CF2303 2022-11-01 09:00:02   12370.0  12370.0  12370.0  12370.0   12370.0   \n",
      "3  CF2303 2022-11-01 09:00:02   12370.0  12370.0  12370.0  12370.0   12370.0   \n",
      "4  CF2303 2022-11-01 09:00:03   12350.0  12350.0  12350.0  12350.0   12350.0   \n",
      "\n",
      "   m_nAccHigh  m_nAccLow  m_iVolume  m_iAccVolume  m_nMatchItems  \\\n",
      "0     12370.0    12250.0         13         20959             -7   \n",
      "1     12375.0    12250.0          6         20965              2   \n",
      "2     12375.0    12250.0          2         20967             -2   \n",
      "3     12375.0    12250.0          1         20968             -1   \n",
      "4     12375.0    12250.0         21         20989              0   \n",
      "\n",
      "   m_nAccMatchItems  m_iTurnover  m_iAccTurnover  m_nPreClose  m_nAccPreClose  \\\n",
      "0             32460     159965.0     257900495.0      12270.0         12390.0   \n",
      "1             32462      73830.0     257974325.0      12365.0         12390.0   \n",
      "2             32460      24610.0     257998935.0      12375.0         12390.0   \n",
      "3             32459      12305.0     258011240.0      12370.0         12390.0   \n",
      "4             32459     258405.0     258269645.0      12370.0         12390.0   \n",
      "\n",
      "   m_nBidPrice  m_nBidVolume  m_nAskPrice  m_nAskVolume  m_iABFlag  \\\n",
      "0      12365.0             2      12370.0             1          1   \n",
      "1      12360.0             2      12370.0           111          1   \n",
      "2      12345.0             3      12355.0            98          1   \n",
      "3      12340.0             1      12350.0            97          1   \n",
      "4      12340.0            10      12350.0            19          1   \n",
      "\n",
      "   m_nActBidVolume  m_nAccActBidVolume  m_nActBidTurnover  \\\n",
      "0               13               10529           159965.0   \n",
      "1                6               10535            73830.0   \n",
      "2                2               10537            24610.0   \n",
      "3                1               10538            12305.0   \n",
      "4               21               10559           258405.0   \n",
      "\n",
      "   m_nAccActBidTurnover  m_nActAskVolume  m_nAccActAskVolume  \\\n",
      "0           129574875.0                0               10430   \n",
      "1           129648705.0                0               10430   \n",
      "2           129673315.0                0               10430   \n",
      "3           129685620.0                0               10430   \n",
      "4           129944025.0                0               10430   \n",
      "\n",
      "   m_nActAskTurnover  m_nAccActAskTurnover  m_nBidOrder  m_nAccBidOrder  \\\n",
      "0                0.0           128325620.0          2.0        405687.0   \n",
      "1                0.0           128325620.0          2.0        405689.0   \n",
      "2                0.0           128325620.0          3.0        405692.0   \n",
      "3                0.0           128325620.0          1.0        405693.0   \n",
      "4                0.0           128325620.0         10.0        405703.0   \n",
      "\n",
      "   m_nAskOrder  m_nAccAskOrder  m_nABOrderRate  m_nAccABOrderRate  \\\n",
      "0          1.0        352340.0        2.000000           1.151408   \n",
      "1        111.0        352451.0        0.018018           1.151051   \n",
      "2         98.0        352549.0        0.030612           1.150739   \n",
      "3         97.0        352646.0        0.010309           1.150426   \n",
      "4         19.0        352665.0        0.526316           1.150392   \n",
      "\n",
      "   m_nMItemsVolRate code_init  \n",
      "0               0.0        CF  \n",
      "1               0.0        CF  \n",
      "2               0.0        CF  \n",
      "3               0.0        CF  \n",
      "4               0.0        CF  \n"
     ]
    }
   ],
   "source": [
    "\n",
    "from src.TSLfm import TSLfm\n",
    "import pandas as pd \n",
    "import numpy as np\n",
    "pd.set_option('display.max_columns', 100)\n",
    "\n",
    "with TSLfm() as tsl:\n",
    "    \n",
    "    # t_list= tsl.get_code_list()\n",
    "    t_list=['CF2211', 'CF2301', 'CF2303', 'CF2305', 'CF2307', 'CF2309']\n",
    "    # t_list=['AP2212']\n",
    "    # t_list=['CF2211']\n",
    "    df = tsl.process_result_data_type(tsl.get_trade_tick('20221101','20221101',t_list))\n",
    "    \n",
    "    print(df.shape)\n",
    "    print(df.head())\n",
    "\n",
    "df.to_csv('data/CF20221101tick.csv')\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "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>code</th>\n",
       "      <th>m_nPrice</th>\n",
       "      <th>m_nOpen</th>\n",
       "      <th>m_nHigh</th>\n",
       "      <th>m_nLow</th>\n",
       "      <th>m_nClose</th>\n",
       "      <th>m_nAccHigh</th>\n",
       "      <th>m_nAccLow</th>\n",
       "      <th>m_iVolume</th>\n",
       "      <th>m_iAccVolume</th>\n",
       "      <th>m_nMatchItems</th>\n",
       "      <th>m_nAccMatchItems</th>\n",
       "      <th>m_iTurover</th>\n",
       "      <th>m_iAccTurover</th>\n",
       "      <th>m_nPreClose</th>\n",
       "      <th>m_nAccPreClose</th>\n",
       "      <th>m_nBidPrice</th>\n",
       "      <th>m_nBidVolume</th>\n",
       "      <th>m_nAskPrice</th>\n",
       "      <th>m_nAskVolume</th>\n",
       "      <th>m_iABFlag</th>\n",
       "      <th>m_nActBidVolume</th>\n",
       "      <th>m_nAccActBidVolume</th>\n",
       "      <th>m_nActBidTurover</th>\n",
       "      <th>m_nAccActBidTurover</th>\n",
       "      <th>m_nActAskVolume</th>\n",
       "      <th>m_nAccActAskVolume</th>\n",
       "      <th>m_nActAskTurover</th>\n",
       "      <th>m_nAccActAskTurover</th>\n",
       "      <th>m_nBidOrder</th>\n",
       "      <th>m_nAccBidOrder</th>\n",
       "      <th>m_nAskOrder</th>\n",
       "      <th>m_nAccAskOrder</th>\n",
       "      <th>m_nABOrderRate</th>\n",
       "      <th>m_nAccABOrderRate</th>\n",
       "      <th>m_nMItemsVolRate</th>\n",
       "      <th>m_nDate</th>\n",
       "      <th>m_nTime</th>\n",
       "      <th>code_init</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>CF2211</td>\n",
       "      <td>13400.0</td>\n",
       "      <td>13550.0</td>\n",
       "      <td>13550.0</td>\n",
       "      <td>13400.0</td>\n",
       "      <td>13400.0</td>\n",
       "      <td>13645.0</td>\n",
       "      <td>13400.0</td>\n",
       "      <td>28</td>\n",
       "      <td>754</td>\n",
       "      <td>-22.0</td>\n",
       "      <td>4854</td>\n",
       "      <td>375910</td>\n",
       "      <td>10220470</td>\n",
       "      <td>13550.0</td>\n",
       "      <td>13580.0</td>\n",
       "      <td>13400.0</td>\n",
       "      <td>8</td>\n",
       "      <td>13550.0</td>\n",
       "      <td>20</td>\n",
       "      <td>1</td>\n",
       "      <td>22.0</td>\n",
       "      <td>348.0</td>\n",
       "      <td>294580.0</td>\n",
       "      <td>4718285.0</td>\n",
       "      <td>6.0</td>\n",
       "      <td>406.0</td>\n",
       "      <td>81330.0</td>\n",
       "      <td>5502185.0</td>\n",
       "      <td>266.0</td>\n",
       "      <td>40331.0</td>\n",
       "      <td>324.0</td>\n",
       "      <td>4755.0</td>\n",
       "      <td>0.400000</td>\n",
       "      <td>8.481809</td>\n",
       "      <td>0.0</td>\n",
       "      <td>2022-10-31</td>\n",
       "      <td>09:01:00</td>\n",
       "      <td>CF</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>CF2211</td>\n",
       "      <td>13435.0</td>\n",
       "      <td>13400.0</td>\n",
       "      <td>13545.0</td>\n",
       "      <td>13400.0</td>\n",
       "      <td>13435.0</td>\n",
       "      <td>13645.0</td>\n",
       "      <td>13400.0</td>\n",
       "      <td>3</td>\n",
       "      <td>757</td>\n",
       "      <td>-1.0</td>\n",
       "      <td>4853</td>\n",
       "      <td>40665</td>\n",
       "      <td>10261135</td>\n",
       "      <td>13400.0</td>\n",
       "      <td>13580.0</td>\n",
       "      <td>13410.0</td>\n",
       "      <td>64</td>\n",
       "      <td>13550.0</td>\n",
       "      <td>20</td>\n",
       "      <td>0</td>\n",
       "      <td>2.0</td>\n",
       "      <td>350.0</td>\n",
       "      <td>27110.0</td>\n",
       "      <td>4745395.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>407.0</td>\n",
       "      <td>13555.0</td>\n",
       "      <td>5515740.0</td>\n",
       "      <td>741.0</td>\n",
       "      <td>41072.0</td>\n",
       "      <td>388.0</td>\n",
       "      <td>5143.0</td>\n",
       "      <td>3.200000</td>\n",
       "      <td>7.986000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>2022-10-31</td>\n",
       "      <td>09:02:00</td>\n",
       "      <td>CF</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>CF2211</td>\n",
       "      <td>13410.0</td>\n",
       "      <td>13435.0</td>\n",
       "      <td>13435.0</td>\n",
       "      <td>13410.0</td>\n",
       "      <td>13410.0</td>\n",
       "      <td>13645.0</td>\n",
       "      <td>13400.0</td>\n",
       "      <td>3</td>\n",
       "      <td>760</td>\n",
       "      <td>-3.0</td>\n",
       "      <td>4850</td>\n",
       "      <td>40665</td>\n",
       "      <td>10301800</td>\n",
       "      <td>13435.0</td>\n",
       "      <td>13580.0</td>\n",
       "      <td>13410.0</td>\n",
       "      <td>62</td>\n",
       "      <td>13545.0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>350.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>4745395.0</td>\n",
       "      <td>3.0</td>\n",
       "      <td>410.0</td>\n",
       "      <td>40665.0</td>\n",
       "      <td>5556405.0</td>\n",
       "      <td>1335.0</td>\n",
       "      <td>42407.0</td>\n",
       "      <td>428.0</td>\n",
       "      <td>5571.0</td>\n",
       "      <td>62.000000</td>\n",
       "      <td>7.612098</td>\n",
       "      <td>0.0</td>\n",
       "      <td>2022-10-31</td>\n",
       "      <td>09:03:00</td>\n",
       "      <td>CF</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>CF2211</td>\n",
       "      <td>13545.0</td>\n",
       "      <td>13410.0</td>\n",
       "      <td>13545.0</td>\n",
       "      <td>13410.0</td>\n",
       "      <td>13545.0</td>\n",
       "      <td>13645.0</td>\n",
       "      <td>13400.0</td>\n",
       "      <td>3</td>\n",
       "      <td>763</td>\n",
       "      <td>-1.0</td>\n",
       "      <td>4849</td>\n",
       "      <td>40665</td>\n",
       "      <td>10342465</td>\n",
       "      <td>13410.0</td>\n",
       "      <td>13580.0</td>\n",
       "      <td>13545.0</td>\n",
       "      <td>9</td>\n",
       "      <td>13550.0</td>\n",
       "      <td>37</td>\n",
       "      <td>0</td>\n",
       "      <td>2.0</td>\n",
       "      <td>352.0</td>\n",
       "      <td>27110.0</td>\n",
       "      <td>4772505.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>411.0</td>\n",
       "      <td>13555.0</td>\n",
       "      <td>5569960.0</td>\n",
       "      <td>580.0</td>\n",
       "      <td>42987.0</td>\n",
       "      <td>278.0</td>\n",
       "      <td>5849.0</td>\n",
       "      <td>0.243243</td>\n",
       "      <td>7.349461</td>\n",
       "      <td>0.0</td>\n",
       "      <td>2022-10-31</td>\n",
       "      <td>09:04:00</td>\n",
       "      <td>CF</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>CF2211</td>\n",
       "      <td>13520.0</td>\n",
       "      <td>13545.0</td>\n",
       "      <td>13545.0</td>\n",
       "      <td>13410.0</td>\n",
       "      <td>13520.0</td>\n",
       "      <td>13645.0</td>\n",
       "      <td>13400.0</td>\n",
       "      <td>23</td>\n",
       "      <td>786</td>\n",
       "      <td>-16.0</td>\n",
       "      <td>4833</td>\n",
       "      <td>311765</td>\n",
       "      <td>10654230</td>\n",
       "      <td>13545.0</td>\n",
       "      <td>13580.0</td>\n",
       "      <td>13425.0</td>\n",
       "      <td>1</td>\n",
       "      <td>13515.0</td>\n",
       "      <td>5</td>\n",
       "      <td>0</td>\n",
       "      <td>8.0</td>\n",
       "      <td>360.0</td>\n",
       "      <td>108440.0</td>\n",
       "      <td>4880945.0</td>\n",
       "      <td>15.0</td>\n",
       "      <td>426.0</td>\n",
       "      <td>203325.0</td>\n",
       "      <td>5773285.0</td>\n",
       "      <td>759.0</td>\n",
       "      <td>43746.0</td>\n",
       "      <td>160.0</td>\n",
       "      <td>6009.0</td>\n",
       "      <td>0.200000</td>\n",
       "      <td>7.280080</td>\n",
       "      <td>0.0</td>\n",
       "      <td>2022-10-31</td>\n",
       "      <td>09:05:00</td>\n",
       "      <td>CF</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",
       "      <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",
       "      <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",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>685</th>\n",
       "      <td>CF2211</td>\n",
       "      <td>13810.0</td>\n",
       "      <td>13810.0</td>\n",
       "      <td>13810.0</td>\n",
       "      <td>13810.0</td>\n",
       "      <td>13810.0</td>\n",
       "      <td>13810.0</td>\n",
       "      <td>13725.0</td>\n",
       "      <td>0</td>\n",
       "      <td>11</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1740</td>\n",
       "      <td>0</td>\n",
       "      <td>151360</td>\n",
       "      <td>13810.0</td>\n",
       "      <td>13600.0</td>\n",
       "      <td>13710.0</td>\n",
       "      <td>10</td>\n",
       "      <td>13800.0</td>\n",
       "      <td>40</td>\n",
       "      <td>0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>11.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>151360.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>50.0</td>\n",
       "      <td>15596.0</td>\n",
       "      <td>200.0</td>\n",
       "      <td>13666.0</td>\n",
       "      <td>0.250000</td>\n",
       "      <td>1.141226</td>\n",
       "      <td>0.0</td>\n",
       "      <td>2022-11-01</td>\n",
       "      <td>22:56:00</td>\n",
       "      <td>CF</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>686</th>\n",
       "      <td>CF2211</td>\n",
       "      <td>13810.0</td>\n",
       "      <td>13810.0</td>\n",
       "      <td>13810.0</td>\n",
       "      <td>13810.0</td>\n",
       "      <td>13810.0</td>\n",
       "      <td>13810.0</td>\n",
       "      <td>13725.0</td>\n",
       "      <td>0</td>\n",
       "      <td>11</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1740</td>\n",
       "      <td>0</td>\n",
       "      <td>151360</td>\n",
       "      <td>13810.0</td>\n",
       "      <td>13600.0</td>\n",
       "      <td>13725.0</td>\n",
       "      <td>10</td>\n",
       "      <td>13800.0</td>\n",
       "      <td>40</td>\n",
       "      <td>0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>11.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>151360.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>52.0</td>\n",
       "      <td>15648.0</td>\n",
       "      <td>280.0</td>\n",
       "      <td>13946.0</td>\n",
       "      <td>0.250000</td>\n",
       "      <td>1.122042</td>\n",
       "      <td>0.0</td>\n",
       "      <td>2022-11-01</td>\n",
       "      <td>22:57:00</td>\n",
       "      <td>CF</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>687</th>\n",
       "      <td>CF2211</td>\n",
       "      <td>13810.0</td>\n",
       "      <td>13810.0</td>\n",
       "      <td>13810.0</td>\n",
       "      <td>13810.0</td>\n",
       "      <td>13810.0</td>\n",
       "      <td>13810.0</td>\n",
       "      <td>13725.0</td>\n",
       "      <td>0</td>\n",
       "      <td>11</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1740</td>\n",
       "      <td>0</td>\n",
       "      <td>151360</td>\n",
       "      <td>13810.0</td>\n",
       "      <td>13600.0</td>\n",
       "      <td>13725.0</td>\n",
       "      <td>10</td>\n",
       "      <td>13800.0</td>\n",
       "      <td>40</td>\n",
       "      <td>0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>11.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>151360.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>20.0</td>\n",
       "      <td>15668.0</td>\n",
       "      <td>80.0</td>\n",
       "      <td>14026.0</td>\n",
       "      <td>0.250000</td>\n",
       "      <td>1.117068</td>\n",
       "      <td>0.0</td>\n",
       "      <td>2022-11-01</td>\n",
       "      <td>22:58:00</td>\n",
       "      <td>CF</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>688</th>\n",
       "      <td>CF2211</td>\n",
       "      <td>13810.0</td>\n",
       "      <td>13810.0</td>\n",
       "      <td>13810.0</td>\n",
       "      <td>13810.0</td>\n",
       "      <td>13810.0</td>\n",
       "      <td>13810.0</td>\n",
       "      <td>13725.0</td>\n",
       "      <td>0</td>\n",
       "      <td>11</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1740</td>\n",
       "      <td>0</td>\n",
       "      <td>151360</td>\n",
       "      <td>13810.0</td>\n",
       "      <td>13600.0</td>\n",
       "      <td>13725.0</td>\n",
       "      <td>10</td>\n",
       "      <td>13800.0</td>\n",
       "      <td>40</td>\n",
       "      <td>0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>11.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>151360.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>20.0</td>\n",
       "      <td>15688.0</td>\n",
       "      <td>80.0</td>\n",
       "      <td>14106.0</td>\n",
       "      <td>0.250000</td>\n",
       "      <td>1.112151</td>\n",
       "      <td>0.0</td>\n",
       "      <td>2022-11-01</td>\n",
       "      <td>22:59:00</td>\n",
       "      <td>CF</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>689</th>\n",
       "      <td>CF2211</td>\n",
       "      <td>13810.0</td>\n",
       "      <td>13810.0</td>\n",
       "      <td>13810.0</td>\n",
       "      <td>13810.0</td>\n",
       "      <td>13810.0</td>\n",
       "      <td>13810.0</td>\n",
       "      <td>13725.0</td>\n",
       "      <td>0</td>\n",
       "      <td>11</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1740</td>\n",
       "      <td>0</td>\n",
       "      <td>151360</td>\n",
       "      <td>13810.0</td>\n",
       "      <td>13600.0</td>\n",
       "      <td>13740.0</td>\n",
       "      <td>10</td>\n",
       "      <td>13800.0</td>\n",
       "      <td>40</td>\n",
       "      <td>0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>11.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>151360.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>84.0</td>\n",
       "      <td>15772.0</td>\n",
       "      <td>360.0</td>\n",
       "      <td>14466.0</td>\n",
       "      <td>0.250000</td>\n",
       "      <td>1.090281</td>\n",
       "      <td>0.0</td>\n",
       "      <td>2022-11-01</td>\n",
       "      <td>23:00:00</td>\n",
       "      <td>CF</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>690 rows × 39 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "       code  m_nPrice  m_nOpen  m_nHigh   m_nLow  m_nClose  m_nAccHigh  \\\n",
       "0    CF2211   13400.0  13550.0  13550.0  13400.0   13400.0     13645.0   \n",
       "1    CF2211   13435.0  13400.0  13545.0  13400.0   13435.0     13645.0   \n",
       "2    CF2211   13410.0  13435.0  13435.0  13410.0   13410.0     13645.0   \n",
       "3    CF2211   13545.0  13410.0  13545.0  13410.0   13545.0     13645.0   \n",
       "4    CF2211   13520.0  13545.0  13545.0  13410.0   13520.0     13645.0   \n",
       "..      ...       ...      ...      ...      ...       ...         ...   \n",
       "685  CF2211   13810.0  13810.0  13810.0  13810.0   13810.0     13810.0   \n",
       "686  CF2211   13810.0  13810.0  13810.0  13810.0   13810.0     13810.0   \n",
       "687  CF2211   13810.0  13810.0  13810.0  13810.0   13810.0     13810.0   \n",
       "688  CF2211   13810.0  13810.0  13810.0  13810.0   13810.0     13810.0   \n",
       "689  CF2211   13810.0  13810.0  13810.0  13810.0   13810.0     13810.0   \n",
       "\n",
       "     m_nAccLow  m_iVolume  m_iAccVolume  m_nMatchItems  m_nAccMatchItems  \\\n",
       "0      13400.0         28           754          -22.0              4854   \n",
       "1      13400.0          3           757           -1.0              4853   \n",
       "2      13400.0          3           760           -3.0              4850   \n",
       "3      13400.0          3           763           -1.0              4849   \n",
       "4      13400.0         23           786          -16.0              4833   \n",
       "..         ...        ...           ...            ...               ...   \n",
       "685    13725.0          0            11            0.0              1740   \n",
       "686    13725.0          0            11            0.0              1740   \n",
       "687    13725.0          0            11            0.0              1740   \n",
       "688    13725.0          0            11            0.0              1740   \n",
       "689    13725.0          0            11            0.0              1740   \n",
       "\n",
       "     m_iTurover  m_iAccTurover  m_nPreClose  m_nAccPreClose  m_nBidPrice  \\\n",
       "0        375910       10220470      13550.0         13580.0      13400.0   \n",
       "1         40665       10261135      13400.0         13580.0      13410.0   \n",
       "2         40665       10301800      13435.0         13580.0      13410.0   \n",
       "3         40665       10342465      13410.0         13580.0      13545.0   \n",
       "4        311765       10654230      13545.0         13580.0      13425.0   \n",
       "..          ...            ...          ...             ...          ...   \n",
       "685           0         151360      13810.0         13600.0      13710.0   \n",
       "686           0         151360      13810.0         13600.0      13725.0   \n",
       "687           0         151360      13810.0         13600.0      13725.0   \n",
       "688           0         151360      13810.0         13600.0      13725.0   \n",
       "689           0         151360      13810.0         13600.0      13740.0   \n",
       "\n",
       "     m_nBidVolume  m_nAskPrice  m_nAskVolume  m_iABFlag  m_nActBidVolume  \\\n",
       "0               8      13550.0            20          1             22.0   \n",
       "1              64      13550.0            20          0              2.0   \n",
       "2              62      13545.0             1          0              0.0   \n",
       "3               9      13550.0            37          0              2.0   \n",
       "4               1      13515.0             5          0              8.0   \n",
       "..            ...          ...           ...        ...              ...   \n",
       "685            10      13800.0            40          0              0.0   \n",
       "686            10      13800.0            40          0              0.0   \n",
       "687            10      13800.0            40          0              0.0   \n",
       "688            10      13800.0            40          0              0.0   \n",
       "689            10      13800.0            40          0              0.0   \n",
       "\n",
       "     m_nAccActBidVolume  m_nActBidTurover  m_nAccActBidTurover  \\\n",
       "0                 348.0          294580.0            4718285.0   \n",
       "1                 350.0           27110.0            4745395.0   \n",
       "2                 350.0               0.0            4745395.0   \n",
       "3                 352.0           27110.0            4772505.0   \n",
       "4                 360.0          108440.0            4880945.0   \n",
       "..                  ...               ...                  ...   \n",
       "685                11.0               0.0             151360.0   \n",
       "686                11.0               0.0             151360.0   \n",
       "687                11.0               0.0             151360.0   \n",
       "688                11.0               0.0             151360.0   \n",
       "689                11.0               0.0             151360.0   \n",
       "\n",
       "     m_nActAskVolume  m_nAccActAskVolume  m_nActAskTurover  \\\n",
       "0                6.0               406.0           81330.0   \n",
       "1                1.0               407.0           13555.0   \n",
       "2                3.0               410.0           40665.0   \n",
       "3                1.0               411.0           13555.0   \n",
       "4               15.0               426.0          203325.0   \n",
       "..               ...                 ...               ...   \n",
       "685              0.0                 0.0               0.0   \n",
       "686              0.0                 0.0               0.0   \n",
       "687              0.0                 0.0               0.0   \n",
       "688              0.0                 0.0               0.0   \n",
       "689              0.0                 0.0               0.0   \n",
       "\n",
       "     m_nAccActAskTurover  m_nBidOrder  m_nAccBidOrder  m_nAskOrder  \\\n",
       "0              5502185.0        266.0         40331.0        324.0   \n",
       "1              5515740.0        741.0         41072.0        388.0   \n",
       "2              5556405.0       1335.0         42407.0        428.0   \n",
       "3              5569960.0        580.0         42987.0        278.0   \n",
       "4              5773285.0        759.0         43746.0        160.0   \n",
       "..                   ...          ...             ...          ...   \n",
       "685                  0.0         50.0         15596.0        200.0   \n",
       "686                  0.0         52.0         15648.0        280.0   \n",
       "687                  0.0         20.0         15668.0         80.0   \n",
       "688                  0.0         20.0         15688.0         80.0   \n",
       "689                  0.0         84.0         15772.0        360.0   \n",
       "\n",
       "     m_nAccAskOrder  m_nABOrderRate  m_nAccABOrderRate  m_nMItemsVolRate  \\\n",
       "0            4755.0        0.400000           8.481809               0.0   \n",
       "1            5143.0        3.200000           7.986000               0.0   \n",
       "2            5571.0       62.000000           7.612098               0.0   \n",
       "3            5849.0        0.243243           7.349461               0.0   \n",
       "4            6009.0        0.200000           7.280080               0.0   \n",
       "..              ...             ...                ...               ...   \n",
       "685         13666.0        0.250000           1.141226               0.0   \n",
       "686         13946.0        0.250000           1.122042               0.0   \n",
       "687         14026.0        0.250000           1.117068               0.0   \n",
       "688         14106.0        0.250000           1.112151               0.0   \n",
       "689         14466.0        0.250000           1.090281               0.0   \n",
       "\n",
       "       m_nDate   m_nTime code_init  \n",
       "0   2022-10-31  09:01:00        CF  \n",
       "1   2022-10-31  09:02:00        CF  \n",
       "2   2022-10-31  09:03:00        CF  \n",
       "3   2022-10-31  09:04:00        CF  \n",
       "4   2022-10-31  09:05:00        CF  \n",
       "..         ...       ...       ...  \n",
       "685 2022-11-01  22:56:00        CF  \n",
       "686 2022-11-01  22:57:00        CF  \n",
       "687 2022-11-01  22:58:00        CF  \n",
       "688 2022-11-01  22:59:00        CF  \n",
       "689 2022-11-01  23:00:00        CF  \n",
       "\n",
       "[690 rows x 39 columns]"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "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>code</th>\n",
       "      <th>m_nDatetime</th>\n",
       "      <th>m_nPrice</th>\n",
       "      <th>m_nOpen</th>\n",
       "      <th>m_nHigh</th>\n",
       "      <th>m_nLow</th>\n",
       "      <th>m_nClose</th>\n",
       "      <th>m_nAccHigh</th>\n",
       "      <th>m_nAccLow</th>\n",
       "      <th>m_iVolume</th>\n",
       "      <th>...</th>\n",
       "      <th>m_nActAskTurnover</th>\n",
       "      <th>m_nAccActAskTurnover</th>\n",
       "      <th>m_nBidOrder</th>\n",
       "      <th>m_nAccBidOrder</th>\n",
       "      <th>m_nAskOrder</th>\n",
       "      <th>m_nAccAskOrder</th>\n",
       "      <th>m_nABOrderRate</th>\n",
       "      <th>m_nAccABOrderRate</th>\n",
       "      <th>m_nMItemsVolRate</th>\n",
       "      <th>code_init</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>CF2211</td>\n",
       "      <td>2022-10-11 09:01:00</td>\n",
       "      <td>14480.0</td>\n",
       "      <td>14460.0</td>\n",
       "      <td>14480.0</td>\n",
       "      <td>14450.0</td>\n",
       "      <td>14480.0</td>\n",
       "      <td>14490.0</td>\n",
       "      <td>14315.0</td>\n",
       "      <td>412</td>\n",
       "      <td>...</td>\n",
       "      <td>1019205.0</td>\n",
       "      <td>212045740.0</td>\n",
       "      <td>1233.0</td>\n",
       "      <td>68627.0</td>\n",
       "      <td>1178.0</td>\n",
       "      <td>54072.0</td>\n",
       "      <td>0.25</td>\n",
       "      <td>1.269178</td>\n",
       "      <td>0.0</td>\n",
       "      <td>CF</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>1 rows × 38 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "     code         m_nDatetime  m_nPrice  m_nOpen  m_nHigh   m_nLow  m_nClose  \\\n",
       "0  CF2211 2022-10-11 09:01:00   14480.0  14460.0  14480.0  14450.0   14480.0   \n",
       "\n",
       "   m_nAccHigh  m_nAccLow  m_iVolume  ...  m_nActAskTurnover  \\\n",
       "0     14490.0    14315.0        412  ...          1019205.0   \n",
       "\n",
       "   m_nAccActAskTurnover  m_nBidOrder  m_nAccBidOrder  m_nAskOrder  \\\n",
       "0           212045740.0       1233.0         68627.0       1178.0   \n",
       "\n",
       "   m_nAccAskOrder  m_nABOrderRate  m_nAccABOrderRate  m_nMItemsVolRate  \\\n",
       "0         54072.0            0.25           1.269178               0.0   \n",
       "\n",
       "   code_init  \n",
       "0         CF  \n",
       "\n",
       "[1 rows x 38 columns]"
      ]
     },
     "execution_count": 33,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from src.DDBfm import DDBfm\n",
    "ddb=DDBfm('dev')\n",
    "tb = ddb.sess.loadTable(dbPath=ddb.ddb_hft_dbPath, tableName=ddb.ddf_hft_mink_tbname)\n",
    "tb.select('*').where(f\"code=`CF2211\").where(f\"m_nDatetime>=2022.10.11d\").top(1).toDF()\n",
    "\n",
    "# tb.toDF()\n",
    "\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [],
   "source": [
    "db = ddb.create_ddb_database(ddb.ddb_hft_path,ddb.ddb_hft_mink_dbname)\n",
    "ddb.add_new_hft_table(db,ddb.ddf_hft_mink_tbname,df)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [],
   "source": [
    "ddb.append_hft_table(ddb.ddb_hft_path,ddb.ddf_hft_mink_tbname,df)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "# ddb.ddb_sess.run(\"\"\"\n",
    "#     {table_name} = table({capacity}:0, {col_names}, [{col_types}]);\n",
    "# \"\"\".format(\n",
    "#     table_name = ddb.ddf_hft_tick_tbname,\n",
    "#     capacity = 5000 * 1000,\n",
    "#     col_names = '`code`m_nDate',\n",
    "#     col_types = \"SYMBOL, DATE\"\n",
    "# ))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'01': ['2022-01-01',\n",
       "  '2022-02-01',\n",
       "  '2022-03-01',\n",
       "  '2022-04-01',\n",
       "  '2022-05-01',\n",
       "  '2022-06-01',\n",
       "  '2022-07-01',\n",
       "  '2022-08-01',\n",
       "  '2022-09-01',\n",
       "  '2022-10-01',\n",
       "  '2022-11-01'],\n",
       " '02': ['2022-01-02',\n",
       "  '2022-02-02',\n",
       "  '2022-03-02',\n",
       "  '2022-04-02',\n",
       "  '2022-05-02',\n",
       "  '2022-06-02',\n",
       "  '2022-07-02',\n",
       "  '2022-08-02',\n",
       "  '2022-09-02',\n",
       "  '2022-10-02',\n",
       "  '2022-11-02'],\n",
       " '03': ['2022-01-03',\n",
       "  '2022-02-03',\n",
       "  '2022-03-03',\n",
       "  '2022-04-03',\n",
       "  '2022-05-03',\n",
       "  '2022-06-03',\n",
       "  '2022-07-03',\n",
       "  '2022-08-03',\n",
       "  '2022-09-03',\n",
       "  '2022-10-03',\n",
       "  '2022-11-03'],\n",
       " '04': ['2022-01-04',\n",
       "  '2022-02-04',\n",
       "  '2022-03-04',\n",
       "  '2022-04-04',\n",
       "  '2022-05-04',\n",
       "  '2022-06-04',\n",
       "  '2022-07-04',\n",
       "  '2022-08-04',\n",
       "  '2022-09-04',\n",
       "  '2022-10-04',\n",
       "  '2022-11-04'],\n",
       " '05': ['2022-01-05',\n",
       "  '2022-02-05',\n",
       "  '2022-03-05',\n",
       "  '2022-04-05',\n",
       "  '2022-05-05',\n",
       "  '2022-06-05',\n",
       "  '2022-07-05',\n",
       "  '2022-08-05',\n",
       "  '2022-09-05',\n",
       "  '2022-10-05',\n",
       "  '2022-11-05'],\n",
       " '06': ['2022-01-06',\n",
       "  '2022-02-06',\n",
       "  '2022-03-06',\n",
       "  '2022-04-06',\n",
       "  '2022-05-06',\n",
       "  '2022-06-06',\n",
       "  '2022-07-06',\n",
       "  '2022-08-06',\n",
       "  '2022-09-06',\n",
       "  '2022-10-06',\n",
       "  '2022-11-06'],\n",
       " '07': ['2022-01-07',\n",
       "  '2022-02-07',\n",
       "  '2022-03-07',\n",
       "  '2022-04-07',\n",
       "  '2022-05-07',\n",
       "  '2022-06-07',\n",
       "  '2022-07-07',\n",
       "  '2022-08-07',\n",
       "  '2022-09-07',\n",
       "  '2022-10-07',\n",
       "  '2022-11-07'],\n",
       " '08': ['2022-01-08',\n",
       "  '2022-02-08',\n",
       "  '2022-03-08',\n",
       "  '2022-04-08',\n",
       "  '2022-05-08',\n",
       "  '2022-06-08',\n",
       "  '2022-07-08',\n",
       "  '2022-08-08',\n",
       "  '2022-09-08',\n",
       "  '2022-10-08',\n",
       "  '2022-11-08'],\n",
       " '09': ['2022-01-09',\n",
       "  '2022-02-09',\n",
       "  '2022-03-09',\n",
       "  '2022-04-09',\n",
       "  '2022-05-09',\n",
       "  '2022-06-09',\n",
       "  '2022-07-09',\n",
       "  '2022-08-09',\n",
       "  '2022-09-09',\n",
       "  '2022-10-09'],\n",
       " '10': ['2022-01-10',\n",
       "  '2022-02-10',\n",
       "  '2022-03-10',\n",
       "  '2022-04-10',\n",
       "  '2022-05-10',\n",
       "  '2022-06-10',\n",
       "  '2022-07-10',\n",
       "  '2022-08-10',\n",
       "  '2022-09-10',\n",
       "  '2022-10-10'],\n",
       " '11': ['2022-01-11',\n",
       "  '2022-02-11',\n",
       "  '2022-03-11',\n",
       "  '2022-04-11',\n",
       "  '2022-05-11',\n",
       "  '2022-06-11',\n",
       "  '2022-07-11',\n",
       "  '2022-08-11',\n",
       "  '2022-09-11',\n",
       "  '2022-10-11'],\n",
       " '12': ['2022-01-12',\n",
       "  '2022-02-12',\n",
       "  '2022-03-12',\n",
       "  '2022-04-12',\n",
       "  '2022-05-12',\n",
       "  '2022-06-12',\n",
       "  '2022-07-12',\n",
       "  '2022-08-12',\n",
       "  '2022-09-12',\n",
       "  '2022-10-12'],\n",
       " '13': ['2022-01-13',\n",
       "  '2022-02-13',\n",
       "  '2022-03-13',\n",
       "  '2022-04-13',\n",
       "  '2022-05-13',\n",
       "  '2022-06-13',\n",
       "  '2022-07-13',\n",
       "  '2022-08-13',\n",
       "  '2022-09-13',\n",
       "  '2022-10-13'],\n",
       " '14': ['2022-01-14',\n",
       "  '2022-02-14',\n",
       "  '2022-03-14',\n",
       "  '2022-04-14',\n",
       "  '2022-05-14',\n",
       "  '2022-06-14',\n",
       "  '2022-07-14',\n",
       "  '2022-08-14',\n",
       "  '2022-09-14',\n",
       "  '2022-10-14'],\n",
       " '15': ['2022-01-15',\n",
       "  '2022-02-15',\n",
       "  '2022-03-15',\n",
       "  '2022-04-15',\n",
       "  '2022-05-15',\n",
       "  '2022-06-15',\n",
       "  '2022-07-15',\n",
       "  '2022-08-15',\n",
       "  '2022-09-15',\n",
       "  '2022-10-15'],\n",
       " '16': ['2022-01-16',\n",
       "  '2022-02-16',\n",
       "  '2022-03-16',\n",
       "  '2022-04-16',\n",
       "  '2022-05-16',\n",
       "  '2022-06-16',\n",
       "  '2022-07-16',\n",
       "  '2022-08-16',\n",
       "  '2022-09-16',\n",
       "  '2022-10-16'],\n",
       " '17': ['2022-01-17',\n",
       "  '2022-02-17',\n",
       "  '2022-03-17',\n",
       "  '2022-04-17',\n",
       "  '2022-05-17',\n",
       "  '2022-06-17',\n",
       "  '2022-07-17',\n",
       "  '2022-08-17',\n",
       "  '2022-09-17',\n",
       "  '2022-10-17'],\n",
       " '18': ['2022-01-18',\n",
       "  '2022-02-18',\n",
       "  '2022-03-18',\n",
       "  '2022-04-18',\n",
       "  '2022-05-18',\n",
       "  '2022-06-18',\n",
       "  '2022-07-18',\n",
       "  '2022-08-18',\n",
       "  '2022-09-18',\n",
       "  '2022-10-18'],\n",
       " '19': ['2022-01-19',\n",
       "  '2022-02-19',\n",
       "  '2022-03-19',\n",
       "  '2022-04-19',\n",
       "  '2022-05-19',\n",
       "  '2022-06-19',\n",
       "  '2022-07-19',\n",
       "  '2022-08-19',\n",
       "  '2022-09-19',\n",
       "  '2022-10-19'],\n",
       " '20': ['2022-01-20',\n",
       "  '2022-02-20',\n",
       "  '2022-03-20',\n",
       "  '2022-04-20',\n",
       "  '2022-05-20',\n",
       "  '2022-06-20',\n",
       "  '2022-07-20',\n",
       "  '2022-08-20',\n",
       "  '2022-09-20',\n",
       "  '2022-10-20'],\n",
       " '21': ['2022-01-21',\n",
       "  '2022-02-21',\n",
       "  '2022-03-21',\n",
       "  '2022-04-21',\n",
       "  '2022-05-21',\n",
       "  '2022-06-21',\n",
       "  '2022-07-21',\n",
       "  '2022-08-21',\n",
       "  '2022-09-21',\n",
       "  '2022-10-21'],\n",
       " '22': ['2022-01-22',\n",
       "  '2022-02-22',\n",
       "  '2022-03-22',\n",
       "  '2022-04-22',\n",
       "  '2022-05-22',\n",
       "  '2022-06-22',\n",
       "  '2022-07-22',\n",
       "  '2022-08-22',\n",
       "  '2022-09-22',\n",
       "  '2022-10-22'],\n",
       " '23': ['2022-01-23',\n",
       "  '2022-02-23',\n",
       "  '2022-03-23',\n",
       "  '2022-04-23',\n",
       "  '2022-05-23',\n",
       "  '2022-06-23',\n",
       "  '2022-07-23',\n",
       "  '2022-08-23',\n",
       "  '2022-09-23',\n",
       "  '2022-10-23'],\n",
       " '24': ['2022-01-24',\n",
       "  '2022-02-24',\n",
       "  '2022-03-24',\n",
       "  '2022-04-24',\n",
       "  '2022-05-24',\n",
       "  '2022-06-24',\n",
       "  '2022-07-24',\n",
       "  '2022-08-24',\n",
       "  '2022-09-24',\n",
       "  '2022-10-24'],\n",
       " '25': ['2022-01-25',\n",
       "  '2022-02-25',\n",
       "  '2022-03-25',\n",
       "  '2022-04-25',\n",
       "  '2022-05-25',\n",
       "  '2022-06-25',\n",
       "  '2022-07-25',\n",
       "  '2022-08-25',\n",
       "  '2022-09-25',\n",
       "  '2022-10-25'],\n",
       " '26': ['2022-01-26',\n",
       "  '2022-02-26',\n",
       "  '2022-03-26',\n",
       "  '2022-04-26',\n",
       "  '2022-05-26',\n",
       "  '2022-06-26',\n",
       "  '2022-07-26',\n",
       "  '2022-08-26',\n",
       "  '2022-09-26',\n",
       "  '2022-10-26'],\n",
       " '27': ['2022-01-27',\n",
       "  '2022-02-27',\n",
       "  '2022-03-27',\n",
       "  '2022-04-27',\n",
       "  '2022-05-27',\n",
       "  '2022-06-27',\n",
       "  '2022-07-27',\n",
       "  '2022-08-27',\n",
       "  '2022-09-27',\n",
       "  '2022-10-27'],\n",
       " '28': ['2022-01-28',\n",
       "  '2022-02-28',\n",
       "  '2022-03-28',\n",
       "  '2022-04-28',\n",
       "  '2022-05-28',\n",
       "  '2022-06-28',\n",
       "  '2022-07-28',\n",
       "  '2022-08-28',\n",
       "  '2022-09-28',\n",
       "  '2022-10-28'],\n",
       " '29': ['2022-01-29',\n",
       "  '2022-03-29',\n",
       "  '2022-04-29',\n",
       "  '2022-05-29',\n",
       "  '2022-06-29',\n",
       "  '2022-07-29',\n",
       "  '2022-08-29',\n",
       "  '2022-09-29',\n",
       "  '2022-10-29'],\n",
       " '30': ['2022-01-30',\n",
       "  '2022-03-30',\n",
       "  '2022-04-30',\n",
       "  '2022-05-30',\n",
       "  '2022-06-30',\n",
       "  '2022-07-30',\n",
       "  '2022-08-30',\n",
       "  '2022-09-30',\n",
       "  '2022-10-30'],\n",
       " '31': ['2022-01-31',\n",
       "  '2022-03-31',\n",
       "  '2022-05-31',\n",
       "  '2022-07-31',\n",
       "  '2022-08-31',\n",
       "  '2022-10-31']}"
      ]
     },
     "execution_count": 20,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "import pandas as pd\n",
    "allDates = pd.date_range('20220101', '20221108', freq ='D')\n",
    "dates_dict_by_day={}\n",
    "\n",
    "for d in list(allDates.astype('str')):\n",
    "    day = d[-2:]\n",
    "    if day not in dates_dict_by_day:\n",
    "        dates_dict_by_day[day] = [d]\n",
    "    else:\n",
    "        dates_dict_by_day[day].append(d)\n",
    "dates_dict_by_day"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "\n",
    "start_date='2022-10-01'\n",
    "end_date='2022-11-08'\n",
    "allDates = pd.date_range(start_date, end_date, freq ='D')\n",
    "allDates = [i.replace('-','') for i in list(allDates.astype('str'))]\n",
    "allDates"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 44,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'AP': ['AP2211', 'AP2212', 'AP2301', 'AP2303', 'AP2304', 'AP2305', 'AP2310'], 'CF': ['CF2211', 'CF2301', 'CF2303', 'CF2305', 'CF2307', 'CF2309'], 'CJ': ['CJ2212', 'CJ2301', 'CJ2303', 'CJ2305', 'CJ2307', 'CJ2309'], 'CY': ['CY2211', 'CY2212', 'CY2301', 'CY2302', 'CY2303', 'CY2304', 'CY2305', 'CY2306', 'CY2307', 'CY2308', 'CY2309', 'CY2310'], 'FG': ['FG2211', 'FG2212', 'FG2301', 'FG2302', 'FG2303', 'FG2304', 'FG2305', 'FG2306', 'FG2307', 'FG2308', 'FG2309', 'FG2310'], 'IC': ['IC2211', 'IC2212', 'IC2303', 'IC2306'], 'IF': ['IF2211', 'IF2212', 'IF2303', 'IF2306'], 'IH': ['IH2211', 'IH2212', 'IH2303', 'IH2306'], 'IM': ['IM2211', 'IM2212', 'IM2303', 'IM2306'], 'JR': ['JR2211', 'JR2301', 'JR2303', 'JR2305', 'JR2307', 'JR2309'], 'LR': ['LR2211', 'LR2301', 'LR2303', 'LR2305', 'LR2307', 'LR2309'], 'MA': ['MA2211', 'MA2212', 'MA2301', 'MA2302', 'MA2303', 'MA2304', 'MA2305', 'MA2306', 'MA2307', 'MA2308', 'MA2309', 'MA2310'], 'OI': ['OI2211', 'OI2301', 'OI2303', 'OI2305', 'OI2307', 'OI2309'], 'PF': ['PF2211', 'PF2212', 'PF2301', 'PF2302', 'PF2303', 'PF2304', 'PF2305', 'PF2306', 'PF2307', 'PF2308', 'PF2309', 'PF2310'], 'PK': ['PK2211', 'PK2212', 'PK2301', 'PK2303', 'PK2304', 'PK2310'], 'PM': ['PM2211', 'PM2301', 'PM2303', 'PM2305', 'PM2307', 'PM2309'], 'RI': ['RI2211', 'RI2301', 'RI2303', 'RI2305', 'RI2307', 'RI2309'], 'RM': ['RM2211', 'RM2301', 'RM2303', 'RM2305', 'RM2307', 'RM2308', 'RM2309'], 'RS': ['RS2211', 'RS2307', 'RS2308', 'RS2309'], 'SA': ['SA2211', 'SA2212', 'SA2301', 'SA2302', 'SA2303', 'SA2304', 'SA2305', 'SA2306', 'SA2307', 'SA2308', 'SA2309', 'SA2310'], 'SF': ['SF2211', 'SF2212', 'SF2301', 'SF2302', 'SF2303', 'SF2304', 'SF2305', 'SF2306', 'SF2307', 'SF2308', 'SF2309', 'SF2310'], 'SM': ['SM2211', 'SM2212', 'SM2301', 'SM2302', 'SM2303', 'SM2304', 'SM2305', 'SM2306', 'SM2307', 'SM2308', 'SM2309', 'SM2310'], 'SR': ['SR2211', 'SR2301', 'SR2303', 'SR2305', 'SR2307', 'SR2309'], 'T': ['T2212', 'T2303', 'T2306'], 'TA': ['TA2211', 'TA2212', 'TA2301', 'TA2302', 'TA2303', 'TA2304', 'TA2305', 'TA2306', 'TA2307', 'TA2308', 'TA2309', 'TA2310'], 'TF': ['TF2212', 'TF2303', 'TF2306'], 'TS': ['TS2212', 'TS2303', 'TS2306'], 'UR': ['UR2211', 'UR2212', 'UR2301', 'UR2302', 'UR2303', 'UR2304', 'UR2305', 'UR2306', 'UR2307', 'UR2308', 'UR2309', 'UR2310'], 'WH': ['WH2211', 'WH2301', 'WH2303', 'WH2305', 'WH2307', 'WH2309'], 'ZC': ['ZC2212', 'ZC2301', 'ZC2302', 'ZC2303', 'ZC2304', 'ZC2305', 'ZC2306', 'ZC2307', 'ZC2308', 'ZC2309', 'ZC2310', 'ZC2311'], 'a': ['a2211', 'a2301', 'a2303', 'a2305', 'a2307', 'a2309'], 'ag': ['ag2211', 'ag2212', 'ag2301', 'ag2302', 'ag2303', 'ag2304', 'ag2305', 'ag2306', 'ag2307', 'ag2308', 'ag2309', 'ag2310'], 'al': ['al2211', 'al2212', 'al2301', 'al2302', 'al2303', 'al2304', 'al2305', 'al2306', 'al2307', 'al2308', 'al2309', 'al2310'], 'au': ['au2211', 'au2212', 'au2301', 'au2302', 'au2304', 'au2306', 'au2308', 'au2310'], 'b': ['b2211', 'b2212', 'b2301', 'b2302', 'b2303', 'b2304', 'b2305', 'b2306', 'b2307', 'b2308', 'b2309', 'b2310'], 'bb': ['bb2211', 'bb2212', 'bb2301', 'bb2302', 'bb2303', 'bb2304', 'bb2305', 'bb2306', 'bb2307', 'bb2308', 'bb2309', 'bb2310'], 'bc': ['bc2211', 'bc2212', 'bc2301', 'bc2302', 'bc2303', 'bc2304', 'bc2305', 'bc2306', 'bc2307', 'bc2308', 'bc2309', 'bc2310'], 'bu': ['bu2211', 'bu2212', 'bu2301', 'bu2302', 'bu2303', 'bu2304', 'bu2305', 'bu2306', 'bu2307', 'bu2308', 'bu2309', 'bu2310', 'bu2312', 'bu2403', 'bu2406', 'bu2409'], 'c': ['c2211', 'c2301', 'c2303', 'c2305', 'c2307', 'c2309'], 'cs': ['cs2211', 'cs2301', 'cs2303', 'cs2305', 'cs2307', 'cs2309'], 'cu': ['cu2211', 'cu2212', 'cu2301', 'cu2302', 'cu2303', 'cu2304', 'cu2305', 'cu2306', 'cu2307', 'cu2308', 'cu2309', 'cu2310'], 'eb': ['eb2211', 'eb2212', 'eb2301', 'eb2302', 'eb2303', 'eb2304', 'eb2305', 'eb2306', 'eb2307', 'eb2308', 'eb2309', 'eb2310'], 'eg': ['eg2211', 'eg2212', 'eg2301', 'eg2302', 'eg2303', 'eg2304', 'eg2305', 'eg2306', 'eg2307', 'eg2308', 'eg2309', 'eg2310'], 'fb': ['fb2211', 'fb2212', 'fb2301', 'fb2302', 'fb2303', 'fb2304', 'fb2305', 'fb2306', 'fb2307', 'fb2308', 'fb2309', 'fb2310'], 'fu': ['fu2212', 'fu2301', 'fu2302', 'fu2303', 'fu2304', 'fu2305', 'fu2306', 'fu2307', 'fu2308', 'fu2309', 'fu2310', 'fu2311'], 'hc': ['hc2211', 'hc2212', 'hc2301', 'hc2302', 'hc2303', 'hc2304', 'hc2305', 'hc2306', 'hc2307', 'hc2308', 'hc2309', 'hc2310'], 'i': ['i2211', 'i2212', 'i2301', 'i2302', 'i2303', 'i2304', 'i2305', 'i2306', 'i2307', 'i2308', 'i2309', 'i2310'], 'j': ['j2211', 'j2212', 'j2301', 'j2302', 'j2303', 'j2304', 'j2305', 'j2306', 'j2307', 'j2308', 'j2309', 'j2310'], 'jd': ['jd2211', 'jd2212', 'jd2301', 'jd2302', 'jd2303', 'jd2304', 'jd2305', 'jd2306', 'jd2307', 'jd2308', 'jd2309', 'jd2310'], 'jm': ['jm2211', 'jm2212', 'jm2301', 'jm2302', 'jm2303', 'jm2304', 'jm2305', 'jm2306', 'jm2307', 'jm2308', 'jm2309', 'jm2310'], 'l': ['l2211', 'l2212', 'l2301', 'l2302', 'l2303', 'l2304', 'l2305', 'l2306', 'l2307', 'l2308', 'l2309', 'l2310'], 'lh': ['lh2211', 'lh2301', 'lh2303', 'lh2305', 'lh2307', 'lh2309'], 'lu': ['lu2212', 'lu2301', 'lu2302', 'lu2303', 'lu2304', 'lu2305', 'lu2306', 'lu2307', 'lu2308', 'lu2309', 'lu2310', 'lu2311'], 'm': ['m2211', 'm2212', 'm2301', 'm2303', 'm2305', 'm2307', 'm2308', 'm2309'], 'ni': ['ni2211', 'ni2212', 'ni2301', 'ni2302', 'ni2303', 'ni2304', 'ni2305', 'ni2306', 'ni2307', 'ni2308', 'ni2309', 'ni2310'], 'nr': ['nr2211', 'nr2212', 'nr2301', 'nr2302', 'nr2303', 'nr2304', 'nr2305', 'nr2306', 'nr2307', 'nr2308', 'nr2309', 'nr2310'], 'p': ['p2211', 'p2212', 'p2301', 'p2302', 'p2303', 'p2304', 'p2305', 'p2306', 'p2307', 'p2308', 'p2309', 'p2310'], 'pb': ['pb2211', 'pb2212', 'pb2301', 'pb2302', 'pb2303', 'pb2304', 'pb2305', 'pb2306', 'pb2307', 'pb2308', 'pb2309', 'pb2310'], 'pg': ['pg2211', 'pg2212', 'pg2301', 'pg2302', 'pg2303', 'pg2304', 'pg2305', 'pg2306', 'pg2307', 'pg2308', 'pg2309', 'pg2310'], 'pp': ['pp2211', 'pp2212', 'pp2301', 'pp2302', 'pp2303', 'pp2304', 'pp2305', 'pp2306', 'pp2307', 'pp2308', 'pp2309', 'pp2310'], 'rb': ['rb2211', 'rb2212', 'rb2301', 'rb2302', 'rb2303', 'rb2304', 'rb2305', 'rb2306', 'rb2307', 'rb2308', 'rb2309', 'rb2310'], 'rr': ['rr2211', 'rr2212', 'rr2301', 'rr2302', 'rr2303', 'rr2304', 'rr2305', 'rr2306', 'rr2307', 'rr2308', 'rr2309', 'rr2310'], 'ru': ['ru2211', 'ru2301', 'ru2303', 'ru2304', 'ru2305', 'ru2306', 'ru2307', 'ru2308', 'ru2309', 'ru2310'], 'sc': ['sc2212', 'sc2301', 'sc2302', 'sc2303', 'sc2304', 'sc2305', 'sc2306', 'sc2307', 'sc2308', 'sc2309', 'sc2310', 'sc2311', 'sc2312', 'sc2403', 'sc2406', 'sc2409', 'sc2412', 'sc2503', 'sc2506', 'sc2509'], 'sn': ['sn2211', 'sn2212', 'sn2301', 'sn2302', 'sn2303', 'sn2304', 'sn2305', 'sn2306', 'sn2307', 'sn2308', 'sn2309', 'sn2310'], 'sp': ['sp2211', 'sp2212', 'sp2301', 'sp2302', 'sp2303', 'sp2304', 'sp2305', 'sp2306', 'sp2307', 'sp2308', 'sp2309', 'sp2310'], 'ss': ['ss2211', 'ss2212', 'ss2301', 'ss2302', 'ss2303', 'ss2304', 'ss2305', 'ss2306', 'ss2307', 'ss2308', 'ss2309', 'ss2310'], 'v': ['v2211', 'v2212', 'v2301', 'v2302', 'v2303', 'v2304', 'v2305', 'v2306', 'v2307', 'v2308', 'v2309', 'v2310'], 'wr': ['wr2211', 'wr2212', 'wr2301', 'wr2302', 'wr2303', 'wr2304', 'wr2305', 'wr2306', 'wr2307', 'wr2308', 'wr2309', 'wr2310'], 'y': ['y2211', 'y2212', 'y2301', 'y2303', 'y2305', 'y2307', 'y2308', 'y2309'], 'zn': ['zn2211', 'zn2212', 'zn2301', 'zn2302', 'zn2303', 'zn2304', 'zn2305', 'zn2306', 'zn2307', 'zn2308', 'zn2309', 'zn2310']}\n"
     ]
    }
   ],
   "source": [
    "from data.code_list import code_list_pickel\n",
    "# print(code_list_pickel)\n",
    "all_fm_init=['sc', 'v', 'TS', 'MA', 'AP', 'jm', 'bc', 'bb', 'fu', 'IM', 'IF', 'a', 'lu', 'FG', 'cu', 'al', 'IH', 'RS', 'pg', 'CF', 'SF', 'ni', 'hc', 'UR', 'm', 'SR', 'j', 'PF', 'RM', 'T', 'c', 'JR', 'l', 'p', 'sp', 'CY', 'pb', 'TF', 'b', 'eg', 'rb', 'PK', 'sn', 'nr', 'pp', 'CJ', 'eb', 'SA', 'y', 'RI', 'lh', 'jd', 'OI', 'WH', 'ss', 'ru', 'zn', 'fb', 'rr', 'PM', 'au', 'TA', 'ZC', 'IC', 'bu', 'SM', 'wr', 'cs', 'LR', 'ag', 'i']\n",
    "all_code_dict_by_init={}\n",
    "for c in code_list_pickel:\n",
    "    init = c[:-4]\n",
    "    if init in all_code_dict_by_init:\n",
    "        all_code_dict_by_init[init].append(c)\n",
    "    else:\n",
    "        all_code_dict_by_init[init]=[c]\n",
    "print(all_code_dict_by_init)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "2022-11-10 13:16:00.361292: [2499840] Error: unmarshall failed\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "[]"
      ]
     },
     "execution_count": 1,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "import dolphindb as ddb\n",
    "from src.DDBfm import DDBfm\n",
    "ddb = DDBfm('prd')\n",
    "# df = ddb.sess.run(f'select top 1 * from pt where code=`CF2301 and m_nDatetime.date()>=2022.09.30d')\n",
    "# df = ddb.sess.run(f'select top 1 * from pt where code=`CF2301 and m_nDatetime.date()>={curr_date_formatted}d')\n",
    "tb = ddb.sess.loadTable(dbPath=ddb.ddb_hft_dbPath, tableName=ddb.ddf_hft_mink_tbname)\n",
    "\n",
    "curr_code='CF2211'\n",
    "cuff_code='T2212'\n",
    "curr_date_formatted='2022.11.01'\n",
    "# df = tb.select('*').top(1).toDF() \n",
    "\n",
    "cond=f\"code_init=`{curr_code[:2]}, m_nDatetime.date()={curr_date_formatted}d\"\n",
    "# print(cond)\n",
    "df = tb.select('distinct code').where(cond).toDF()\n",
    "# df\n",
    "# df = tb.select('*').top(1).toDF() \n",
    "# df = tb.select('*').where(f\"code=`AP2301, m_nDatetime.date()=2022.09.30d\").toDF() \n",
    "# df[df['m_nPrice']==8274]\n",
    "# pool = ddb.DBConnectionPool(\"192.168.1.88\", 8848, 20, \"admin\", \"123456\")\n",
    "df['distinct_code'].to_list()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "import dolphindb as ddb\n",
    "from src.DDBfm import DDBfm\n",
    "ddb = DDBfm('prd')\n",
    "# df = ddb.sess.run(f'select top 1 * from pt where code=`CF2301 and m_nDatetime.date()>=2022.09.30d')\n",
    "# df = ddb.sess.run(f'select top 1 * from pt where code=`CF2301 and m_nDatetime.date()>={curr_date_formatted}d')\n",
    "tb = ddb.sess.loadTable(dbPath=ddb.ddb_hft_dbPath, tableName=ddb.ddf_hft_mink_tbname)\n",
    "\n",
    "# curr_code='CF2211'\n",
    "cuff_code='T2212'\n",
    "curr_date_formatted='2022.11.01'\n",
    "# df = tb.select('*').top(1).toDF() \n",
    "\n",
    "cond=f\"code_init=`{curr_code[:2]}, m_nDatetime.date()={curr_date_formatted}d\"\n",
    "# print(cond)\n",
    "df = tb.select('distinct code').where(cond).toDF()\n",
    "# df\n",
    "# df = tb.select('*').top(1).toDF() \n",
    "# df = tb.select('*').where(f\"code=`AP2301, m_nDatetime.date()=2022.09.30d\").toDF() \n",
    "# df[df['m_nPrice']==8274]\n",
    "# pool = ddb.DBConnectionPool(\"192.168.1.88\", 8848, 20, \"admin\", \"123456\")\n",
    "df['distinct_code'].to_list()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "ename": "AttributeError",
     "evalue": "'DBConnectionPool' object has no attribute 'loadTable'",
     "output_type": "error",
     "traceback": [
      "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
      "\u001b[0;31mAttributeError\u001b[0m                            Traceback (most recent call last)",
      "Cell \u001b[0;32mIn [3], line 6\u001b[0m\n\u001b[1;32m      4\u001b[0m pool \u001b[39m=\u001b[39m ddb\u001b[39m.\u001b[39mDBConnectionPool(\u001b[39m\"\u001b[39m\u001b[39m192.168.1.88\u001b[39m\u001b[39m\"\u001b[39m, \u001b[39m8848\u001b[39m, \u001b[39m20\u001b[39m, \u001b[39m\"\u001b[39m\u001b[39madmin\u001b[39m\u001b[39m\"\u001b[39m, \u001b[39m\"\u001b[39m\u001b[39m123456\u001b[39m\u001b[39m\"\u001b[39m)\n\u001b[1;32m      5\u001b[0m \u001b[39m# pool.run('getAllDBs()').value()\u001b[39;00m\n\u001b[0;32m----> 6\u001b[0m pool\u001b[39m.\u001b[39;49mloadTable(dbPath\u001b[39m=\u001b[39m\u001b[39m\"\u001b[39m\u001b[39mdfs://hft_futuremarket_ts\u001b[39m\u001b[39m\"\u001b[39m, tableName\u001b[39m=\u001b[39m\u001b[39m'\u001b[39m\u001b[39mMinKlinePartitioned\u001b[39m\u001b[39m'\u001b[39m)\n",
      "\u001b[0;31mAttributeError\u001b[0m: 'DBConnectionPool' object has no attribute 'loadTable'"
     ]
    }
   ],
   "source": [
    "import dolphindb as ddb\n",
    "from src.DDBfm import DDBfm\n",
    "\n",
    "pool = ddb.DBConnectionPool(\"192.168.1.88\", 8848, 20, \"admin\", \"123456\")\n",
    "# pool.run('getAllDBs()').value()\n",
    "pool.loadTable(dbPath=\"dfs://hft_futuremarket_ts\", tableName='MinKlinePartitioned')\n",
    "# appender = ddb.PartitionedTableAppender(\"dfs://hft_futuremarket_ts\", \"MinKlinePartitioned\", 'm_nDatetime', pool)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [],
   "source": [
    "import pandas as pd\n",
    "df_all = pd.concat(df_list)\n",
    "r= appender.append(df_all)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "import dolphindb as ddb\n",
    "from src.DDBfm import DDBfm\n",
    "ddbfm=DDBfm('dev',pool=True)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2022-11-10 10:58:40.946 | INFO     | src.TSLfm:__enter__:18 - Logging in TSL.\n",
      "2022-11-10 10:58:41.103 | DEBUG    | src.TSLfm:get_mkt_min_k:209 - \n",
      "            SetSysParam(pn_cycle(), cy_1m());\n",
      "            stock_list := Array('AP2211', 'AP2212', 'AP2301');\n",
      "            r := select \n",
      "                ['StockID'] as 'code',\n",
      "                DateTimeToStr(['date']) as 'm_nDatetime',\n",
      "\n",
      "                ['price'] as 'm_nPrice',\n",
      "                ['open'] as 'm_nOpen',\n",
      "                ['high'] as 'm_nHigh',\n",
      "                ['low'] as 'm_nLow',\n",
      "                ['close'] as 'm_nClose',\n",
      "\n",
      "                ['sectional_high'] as 'm_nAccHigh',\n",
      "                ['sectional_low'] as 'm_nAccLow',\n",
      "\n",
      "                ['vol'] as 'm_iVolume', //成交量\n",
      "                ['sectional_vol'] as 'm_iAccVolume', //时点当日累计成交量\n",
      "\n",
      "                ['cjbs'] as 'm_nMatchItems', // 成交笔数 周期内的持仓的变动量\n",
      "                ['sectional_cjbs'] as 'm_nAccMatchItems',\n",
      "\n",
      "                ['amount'] as 'm_iTurnover', //成交金额\n",
      "                ['sectional_amount'] as 'm_iAccTurnover', \n",
      "\n",
      "                ['yclose'] as 'm_nPreClose', //上一周期的收盘价\n",
      "                ['sectional_yclose'] as 'm_nAccPreClose', // 前日收盘\n",
      "                \n",
      "                ['buy1'] as 'm_nBidPrice', //买一价?叫卖价?\n",
      "                ['bc1'] as 'm_nBidVolume', //买一量 当前以买一价出价的委买量\n",
      "                ['sale1'] as 'm_nAskPrice', \n",
      "                ['sc1'] as 'm_nAskVolume', \n",
      "\n",
      "                ['zmm'] as 'm_iABFlag', //买卖标识\n",
      "\n",
      "                ['buy_vol'] as 'm_nActBidVolume', //主买量\n",
      "                ['sectional_buy_vol'] as 'm_nAccActBidVolume', //时点当日累计主买量\n",
      "                ['buy_amount'] as 'm_nActBidTurnover', //主买金额\n",
      "                ['sectional_buy_amount'] as 'm_nAccActBidTurnover', \n",
      "\n",
      "                ['sale_vol'] as 'm_nActAskVolume', \n",
      "                ['sectional_sale_vol'] as 'm_nAccActAskVolume', \n",
      "                ['sale_amount'] as 'm_nActAskTurnover',\n",
      "                ['sectional_sale_amount'] as 'm_nAccActAskTurnover', \n",
      "\n",
      "                ['w_buy'] as 'm_nBidOrder', //委买\n",
      "                ['sectional_w_buy'] as 'm_nAccBidOrder', \n",
      "                ['w_sale'] as 'm_nAskOrder',\n",
      "                ['sectional_w_sale'] as 'm_nAccAskOrder',\n",
      "\n",
      "                ['wb'] as 'm_nABOrderRate', //委比\n",
      "                ['sectional_wb'] as 'm_nAccABOrderRate', //时点当日累计委比\n",
      "                ['lb'] as 'm_nMItemsVolRate'//量比\n",
      "\n",
      "\n",
      "                from markettable\n",
      "                datekey 20220902T to 20220902T+0.999 \n",
      "                of stock_list\n",
      "            end;\n",
      "            \n",
      "            return r;        \n",
      "        \n",
      "2022-11-10 10:58:41.551 | INFO     | src.TSLfm:process_result_data_type:218 - Processing new df of shape (675, 37), which looks like\n",
      "     code          m_nDatetime  m_nPrice  m_nOpen  m_nHigh  m_nLow  m_nClose  \\\n",
      "0  AP2211  2022-09-02 09:01:00    8950.0   8966.0   8970.0  8950.0    8950.0   \n",
      "1  AP2211  2022-09-02 09:02:00    8918.0   8950.0   8950.0  8917.0    8918.0   \n",
      "2  AP2211  2022-09-02 09:03:00    8912.0   8914.0   8914.0  8903.0    8912.0   \n",
      "3  AP2211  2022-09-02 09:04:00    8920.0   8924.0   8924.0  8912.0    8920.0   \n",
      "4  AP2211  2022-09-02 09:05:00    8908.0   8920.0   8920.0  8908.0    8908.0   \n",
      "\n",
      "   m_nAccHigh  m_nAccLow  m_iVolume  ...  m_nAccActAskVolume  \\\n",
      "0      8970.0     8950.0        3.0  ...                 0.0   \n",
      "1      8970.0     8917.0        8.0  ...                 6.0   \n",
      "2      8970.0     8903.0       20.0  ...                17.0   \n",
      "3      8970.0     8903.0       17.0  ...                29.0   \n",
      "4      8970.0     8903.0        3.0  ...                30.0   \n",
      "\n",
      "   m_nActAskTurnover  m_nAccActAskTurnover  m_nBidOrder  m_nAccBidOrder  \\\n",
      "0                0.0                   0.0         65.0            65.0   \n",
      "1            53522.0               53522.0         65.0           130.0   \n",
      "2            98069.0              151591.0         77.0           207.0   \n",
      "3           106951.0              258542.0         64.0           271.0   \n",
      "4             8918.0              267460.0         67.0           338.0   \n",
      "\n",
      "   m_nAskOrder  m_nAccAskOrder  m_nABOrderRate  m_nAccABOrderRate  \\\n",
      "0         61.0            61.0             1.0           1.065574   \n",
      "1         57.0           118.0             1.0           1.101695   \n",
      "2         64.0           182.0             0.5           1.137363   \n",
      "3         63.0           245.0             1.0           1.106122   \n",
      "4         49.0           294.0             1.0           1.149660   \n",
      "\n",
      "   m_nMItemsVolRate  \n",
      "0               0.0  \n",
      "1               0.0  \n",
      "2               0.0  \n",
      "3               0.0  \n",
      "4               0.0  \n",
      "\n",
      "[5 rows x 37 columns]\n",
      "2022-11-10 10:58:41.559 | INFO     | src.TSLfm:process_result_data_type:232 - Processing done, new df looks like\n",
      "     code         m_nDatetime  m_nPrice  m_nOpen  m_nHigh  m_nLow  m_nClose  \\\n",
      "0  AP2211 2022-09-02 09:01:00    8950.0   8966.0   8970.0  8950.0    8950.0   \n",
      "1  AP2211 2022-09-02 09:02:00    8918.0   8950.0   8950.0  8917.0    8918.0   \n",
      "2  AP2211 2022-09-02 09:03:00    8912.0   8914.0   8914.0  8903.0    8912.0   \n",
      "3  AP2211 2022-09-02 09:04:00    8920.0   8924.0   8924.0  8912.0    8920.0   \n",
      "4  AP2211 2022-09-02 09:05:00    8908.0   8920.0   8920.0  8908.0    8908.0   \n",
      "\n",
      "   m_nAccHigh  m_nAccLow  m_iVolume  ...  m_nActAskTurnover  \\\n",
      "0      8970.0     8950.0          3  ...                0.0   \n",
      "1      8970.0     8917.0          8  ...            53522.0   \n",
      "2      8970.0     8903.0         20  ...            98069.0   \n",
      "3      8970.0     8903.0         17  ...           106951.0   \n",
      "4      8970.0     8903.0          3  ...             8918.0   \n",
      "\n",
      "   m_nAccActAskTurnover  m_nBidOrder  m_nAccBidOrder  m_nAskOrder  \\\n",
      "0                   0.0         65.0            65.0         61.0   \n",
      "1               53522.0         65.0           130.0         57.0   \n",
      "2              151591.0         77.0           207.0         64.0   \n",
      "3              258542.0         64.0           271.0         63.0   \n",
      "4              267460.0         67.0           338.0         49.0   \n",
      "\n",
      "   m_nAccAskOrder  m_nABOrderRate  m_nAccABOrderRate  m_nMItemsVolRate  \\\n",
      "0            61.0             1.0           1.065574               0.0   \n",
      "1           118.0             1.0           1.101695               0.0   \n",
      "2           182.0             0.5           1.137363               0.0   \n",
      "3           245.0             1.0           1.106122               0.0   \n",
      "4           294.0             1.0           1.149660               0.0   \n",
      "\n",
      "   code_init  \n",
      "0         AP  \n",
      "1         AP  \n",
      "2         AP  \n",
      "3         AP  \n",
      "4         AP  \n",
      "\n",
      "[5 rows x 38 columns]\n",
      "2022-11-10 10:58:41.559 | INFO     | src.TSLfm:__exit__:24 - Logging out TSL.\n",
      "2022-11-10 10:58:41.559 | INFO     | src.TSLfm:__enter__:18 - Logging in TSL.\n",
      "2022-11-10 10:58:41.711 | DEBUG    | src.TSLfm:get_mkt_min_k:209 - \n",
      "            SetSysParam(pn_cycle(), cy_1m());\n",
      "            stock_list := Array('AP2211', 'AP2212', 'AP2301');\n",
      "            r := select \n",
      "                ['StockID'] as 'code',\n",
      "                DateTimeToStr(['date']) as 'm_nDatetime',\n",
      "\n",
      "                ['price'] as 'm_nPrice',\n",
      "                ['open'] as 'm_nOpen',\n",
      "                ['high'] as 'm_nHigh',\n",
      "                ['low'] as 'm_nLow',\n",
      "                ['close'] as 'm_nClose',\n",
      "\n",
      "                ['sectional_high'] as 'm_nAccHigh',\n",
      "                ['sectional_low'] as 'm_nAccLow',\n",
      "\n",
      "                ['vol'] as 'm_iVolume', //成交量\n",
      "                ['sectional_vol'] as 'm_iAccVolume', //时点当日累计成交量\n",
      "\n",
      "                ['cjbs'] as 'm_nMatchItems', // 成交笔数 周期内的持仓的变动量\n",
      "                ['sectional_cjbs'] as 'm_nAccMatchItems',\n",
      "\n",
      "                ['amount'] as 'm_iTurnover', //成交金额\n",
      "                ['sectional_amount'] as 'm_iAccTurnover', \n",
      "\n",
      "                ['yclose'] as 'm_nPreClose', //上一周期的收盘价\n",
      "                ['sectional_yclose'] as 'm_nAccPreClose', // 前日收盘\n",
      "                \n",
      "                ['buy1'] as 'm_nBidPrice', //买一价?叫卖价?\n",
      "                ['bc1'] as 'm_nBidVolume', //买一量 当前以买一价出价的委买量\n",
      "                ['sale1'] as 'm_nAskPrice', \n",
      "                ['sc1'] as 'm_nAskVolume', \n",
      "\n",
      "                ['zmm'] as 'm_iABFlag', //买卖标识\n",
      "\n",
      "                ['buy_vol'] as 'm_nActBidVolume', //主买量\n",
      "                ['sectional_buy_vol'] as 'm_nAccActBidVolume', //时点当日累计主买量\n",
      "                ['buy_amount'] as 'm_nActBidTurnover', //主买金额\n",
      "                ['sectional_buy_amount'] as 'm_nAccActBidTurnover', \n",
      "\n",
      "                ['sale_vol'] as 'm_nActAskVolume', \n",
      "                ['sectional_sale_vol'] as 'm_nAccActAskVolume', \n",
      "                ['sale_amount'] as 'm_nActAskTurnover',\n",
      "                ['sectional_sale_amount'] as 'm_nAccActAskTurnover', \n",
      "\n",
      "                ['w_buy'] as 'm_nBidOrder', //委买\n",
      "                ['sectional_w_buy'] as 'm_nAccBidOrder', \n",
      "                ['w_sale'] as 'm_nAskOrder',\n",
      "                ['sectional_w_sale'] as 'm_nAccAskOrder',\n",
      "\n",
      "                ['wb'] as 'm_nABOrderRate', //委比\n",
      "                ['sectional_wb'] as 'm_nAccABOrderRate', //时点当日累计委比\n",
      "                ['lb'] as 'm_nMItemsVolRate'//量比\n",
      "\n",
      "\n",
      "                from markettable\n",
      "                datekey 20220903T to 20220903T+0.999 \n",
      "                of stock_list\n",
      "            end;\n",
      "            \n",
      "            return r;        \n",
      "        \n",
      "2022-11-10 10:58:41.789 | INFO     | src.TSLfm:process_result_data_type:216 - No data on this day.\n",
      "2022-11-10 10:58:41.790 | INFO     | src.TSLfm:__exit__:24 - Logging out TSL.\n",
      "2022-11-10 10:58:41.790 | INFO     | src.TSLfm:__enter__:18 - Logging in TSL.\n",
      "2022-11-10 10:58:41.940 | DEBUG    | src.TSLfm:get_mkt_min_k:209 - \n",
      "            SetSysParam(pn_cycle(), cy_1m());\n",
      "            stock_list := Array('AP2211', 'AP2212', 'AP2301');\n",
      "            r := select \n",
      "                ['StockID'] as 'code',\n",
      "                DateTimeToStr(['date']) as 'm_nDatetime',\n",
      "\n",
      "                ['price'] as 'm_nPrice',\n",
      "                ['open'] as 'm_nOpen',\n",
      "                ['high'] as 'm_nHigh',\n",
      "                ['low'] as 'm_nLow',\n",
      "                ['close'] as 'm_nClose',\n",
      "\n",
      "                ['sectional_high'] as 'm_nAccHigh',\n",
      "                ['sectional_low'] as 'm_nAccLow',\n",
      "\n",
      "                ['vol'] as 'm_iVolume', //成交量\n",
      "                ['sectional_vol'] as 'm_iAccVolume', //时点当日累计成交量\n",
      "\n",
      "                ['cjbs'] as 'm_nMatchItems', // 成交笔数 周期内的持仓的变动量\n",
      "                ['sectional_cjbs'] as 'm_nAccMatchItems',\n",
      "\n",
      "                ['amount'] as 'm_iTurnover', //成交金额\n",
      "                ['sectional_amount'] as 'm_iAccTurnover', \n",
      "\n",
      "                ['yclose'] as 'm_nPreClose', //上一周期的收盘价\n",
      "                ['sectional_yclose'] as 'm_nAccPreClose', // 前日收盘\n",
      "                \n",
      "                ['buy1'] as 'm_nBidPrice', //买一价?叫卖价?\n",
      "                ['bc1'] as 'm_nBidVolume', //买一量 当前以买一价出价的委买量\n",
      "                ['sale1'] as 'm_nAskPrice', \n",
      "                ['sc1'] as 'm_nAskVolume', \n",
      "\n",
      "                ['zmm'] as 'm_iABFlag', //买卖标识\n",
      "\n",
      "                ['buy_vol'] as 'm_nActBidVolume', //主买量\n",
      "                ['sectional_buy_vol'] as 'm_nAccActBidVolume', //时点当日累计主买量\n",
      "                ['buy_amount'] as 'm_nActBidTurnover', //主买金额\n",
      "                ['sectional_buy_amount'] as 'm_nAccActBidTurnover', \n",
      "\n",
      "                ['sale_vol'] as 'm_nActAskVolume', \n",
      "                ['sectional_sale_vol'] as 'm_nAccActAskVolume', \n",
      "                ['sale_amount'] as 'm_nActAskTurnover',\n",
      "                ['sectional_sale_amount'] as 'm_nAccActAskTurnover', \n",
      "\n",
      "                ['w_buy'] as 'm_nBidOrder', //委买\n",
      "                ['sectional_w_buy'] as 'm_nAccBidOrder', \n",
      "                ['w_sale'] as 'm_nAskOrder',\n",
      "                ['sectional_w_sale'] as 'm_nAccAskOrder',\n",
      "\n",
      "                ['wb'] as 'm_nABOrderRate', //委比\n",
      "                ['sectional_wb'] as 'm_nAccABOrderRate', //时点当日累计委比\n",
      "                ['lb'] as 'm_nMItemsVolRate'//量比\n",
      "\n",
      "\n",
      "                from markettable\n",
      "                datekey 20221102T to 20221102T+0.999 \n",
      "                of stock_list\n",
      "            end;\n",
      "            \n",
      "            return r;        \n",
      "        \n",
      "2022-11-10 10:58:42.352 | INFO     | src.TSLfm:process_result_data_type:218 - Processing new df of shape (675, 37), which looks like\n",
      "     code          m_nDatetime  m_nPrice  m_nOpen  m_nHigh  m_nLow  m_nClose  \\\n",
      "0  AP2211  2022-11-02 09:01:00    8860.0   8860.0   8860.0  8860.0    8860.0   \n",
      "1  AP2211  2022-11-02 09:02:00    8860.0   8860.0   8860.0  8860.0    8860.0   \n",
      "2  AP2211  2022-11-02 09:03:00    8860.0   8860.0   8860.0  8860.0    8860.0   \n",
      "3  AP2211  2022-11-02 09:04:00    8860.0   8860.0   8860.0  8860.0    8860.0   \n",
      "4  AP2211  2022-11-02 09:05:00    8860.0   8860.0   8860.0  8860.0    8860.0   \n",
      "\n",
      "   m_nAccHigh  m_nAccLow  m_iVolume  ...  m_nAccActAskVolume  \\\n",
      "0      8860.0     8860.0        0.0  ...                 0.0   \n",
      "1      8860.0     8860.0        0.0  ...                 0.0   \n",
      "2      8860.0     8860.0        0.0  ...                 0.0   \n",
      "3      8860.0     8860.0        0.0  ...                 0.0   \n",
      "4      8860.0     8860.0        0.0  ...                 0.0   \n",
      "\n",
      "   m_nActAskTurnover  m_nAccActAskTurnover  m_nBidOrder  m_nAccBidOrder  \\\n",
      "0                0.0                   0.0          1.0             1.0   \n",
      "1                0.0                   0.0          5.0             6.0   \n",
      "2                0.0                   0.0          0.0             6.0   \n",
      "3                0.0                   0.0          0.0             6.0   \n",
      "4                0.0                   0.0          0.0             6.0   \n",
      "\n",
      "   m_nAskOrder  m_nAccAskOrder  m_nABOrderRate  m_nAccABOrderRate  \\\n",
      "0          1.0             1.0             1.0                1.0   \n",
      "1          5.0             6.0             1.0                1.0   \n",
      "2          0.0             6.0             1.0                1.0   \n",
      "3          0.0             6.0             1.0                1.0   \n",
      "4          0.0             6.0             1.0                1.0   \n",
      "\n",
      "   m_nMItemsVolRate  \n",
      "0               0.0  \n",
      "1               0.0  \n",
      "2               0.0  \n",
      "3               0.0  \n",
      "4               0.0  \n",
      "\n",
      "[5 rows x 37 columns]\n",
      "2022-11-10 10:58:42.358 | INFO     | src.TSLfm:process_result_data_type:232 - Processing done, new df looks like\n",
      "     code         m_nDatetime  m_nPrice  m_nOpen  m_nHigh  m_nLow  m_nClose  \\\n",
      "0  AP2211 2022-11-02 09:01:00    8860.0   8860.0   8860.0  8860.0    8860.0   \n",
      "1  AP2211 2022-11-02 09:02:00    8860.0   8860.0   8860.0  8860.0    8860.0   \n",
      "2  AP2211 2022-11-02 09:03:00    8860.0   8860.0   8860.0  8860.0    8860.0   \n",
      "3  AP2211 2022-11-02 09:04:00    8860.0   8860.0   8860.0  8860.0    8860.0   \n",
      "4  AP2211 2022-11-02 09:05:00    8860.0   8860.0   8860.0  8860.0    8860.0   \n",
      "\n",
      "   m_nAccHigh  m_nAccLow  m_iVolume  ...  m_nActAskTurnover  \\\n",
      "0      8860.0     8860.0          0  ...                0.0   \n",
      "1      8860.0     8860.0          0  ...                0.0   \n",
      "2      8860.0     8860.0          0  ...                0.0   \n",
      "3      8860.0     8860.0          0  ...                0.0   \n",
      "4      8860.0     8860.0          0  ...                0.0   \n",
      "\n",
      "   m_nAccActAskTurnover  m_nBidOrder  m_nAccBidOrder  m_nAskOrder  \\\n",
      "0                   0.0          1.0             1.0          1.0   \n",
      "1                   0.0          5.0             6.0          5.0   \n",
      "2                   0.0          0.0             6.0          0.0   \n",
      "3                   0.0          0.0             6.0          0.0   \n",
      "4                   0.0          0.0             6.0          0.0   \n",
      "\n",
      "   m_nAccAskOrder  m_nABOrderRate  m_nAccABOrderRate  m_nMItemsVolRate  \\\n",
      "0             1.0             1.0                1.0               0.0   \n",
      "1             6.0             1.0                1.0               0.0   \n",
      "2             6.0             1.0                1.0               0.0   \n",
      "3             6.0             1.0                1.0               0.0   \n",
      "4             6.0             1.0                1.0               0.0   \n",
      "\n",
      "   code_init  \n",
      "0         AP  \n",
      "1         AP  \n",
      "2         AP  \n",
      "3         AP  \n",
      "4         AP  \n",
      "\n",
      "[5 rows x 38 columns]\n",
      "2022-11-10 10:58:42.359 | INFO     | src.TSLfm:__exit__:24 - Logging out TSL.\n"
     ]
    }
   ],
   "source": [
    "from src.TSLfm import TSLfm\n",
    "# ddbfm = DDBfm('dev')\n",
    "df_list = []\n",
    "for date in ['20220902','20220903','20221102']:\n",
    "    with TSLfm() as tsl:\n",
    "        df = tsl.process_result_data_type(tsl.get_mkt_min_k(date,date,['AP2211','AP2212','AP2301']))\n",
    "        df_list.append(df)\n",
    "        # logger.info(f'Getting a df of {df.shape}: {code_list[0][:-4]} on {date}')\n",
    "        # ddbfm.append_hft_table(ddb.ddf_hft_mink_tbname,df)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[       code         m_nDatetime  m_nPrice  m_nOpen  m_nHigh  m_nLow  m_nClose  \\\n",
       " 0    AP2211 2022-09-02 09:01:00    8950.0   8966.0   8970.0  8950.0    8950.0   \n",
       " 1    AP2211 2022-09-02 09:02:00    8918.0   8950.0   8950.0  8917.0    8918.0   \n",
       " 2    AP2211 2022-09-02 09:03:00    8912.0   8914.0   8914.0  8903.0    8912.0   \n",
       " 3    AP2211 2022-09-02 09:04:00    8920.0   8924.0   8924.0  8912.0    8920.0   \n",
       " 4    AP2211 2022-09-02 09:05:00    8908.0   8920.0   8920.0  8908.0    8908.0   \n",
       " ..      ...                 ...       ...      ...      ...     ...       ...   \n",
       " 670  AP2301 2022-09-02 14:56:00    9193.0   9194.0   9198.0  9190.0    9193.0   \n",
       " 671  AP2301 2022-09-02 14:57:00    9204.0   9192.0   9204.0  9192.0    9204.0   \n",
       " 672  AP2301 2022-09-02 14:58:00    9210.0   9202.0   9210.0  9200.0    9210.0   \n",
       " 673  AP2301 2022-09-02 14:59:00    9209.0   9206.0   9213.0  9206.0    9209.0   \n",
       " 674  AP2301 2022-09-02 15:00:00    9211.0   9210.0   9215.0  9207.0    9211.0   \n",
       " \n",
       "      m_nAccHigh  m_nAccLow  m_iVolume  ...  m_nActAskTurnover  \\\n",
       " 0        8970.0     8950.0          3  ...                0.0   \n",
       " 1        8970.0     8917.0          8  ...            53522.0   \n",
       " 2        8970.0     8903.0         20  ...            98069.0   \n",
       " 3        8970.0     8903.0         17  ...           106951.0   \n",
       " 4        8970.0     8903.0          3  ...             8918.0   \n",
       " ..          ...        ...        ...  ...                ...   \n",
       " 670      9220.0     9080.0        368  ...          1154034.0   \n",
       " 671      9220.0     9080.0        568  ...           952568.0   \n",
       " 672      9220.0     9080.0        707  ...          1951080.0   \n",
       " 673      9220.0     9080.0        763  ...          3968840.0   \n",
       " 674      9220.0     9080.0        918  ...          3979399.0   \n",
       " \n",
       "      m_nAccActAskTurnover  m_nBidOrder  m_nAccBidOrder  m_nAskOrder  \\\n",
       " 0                     0.0         65.0            65.0         61.0   \n",
       " 1                 53522.0         65.0           130.0         57.0   \n",
       " 2                151591.0         77.0           207.0         64.0   \n",
       " 3                258542.0         64.0           271.0         63.0   \n",
       " 4                267460.0         67.0           338.0         49.0   \n",
       " ..                    ...          ...             ...          ...   \n",
       " 670           223212226.0        739.0        106767.0        873.0   \n",
       " 671           224164794.0       1250.0        108017.0       3668.0   \n",
       " 672           226115874.0        631.0        108648.0       1723.0   \n",
       " 673           230084714.0       2361.0        111009.0       1079.0   \n",
       " 674           234064113.0       1555.0        112564.0       1902.0   \n",
       " \n",
       "      m_nAccAskOrder  m_nABOrderRate  m_nAccABOrderRate  m_nMItemsVolRate  \\\n",
       " 0              61.0        1.000000           1.065574               0.0   \n",
       " 1             118.0        1.000000           1.101695               0.0   \n",
       " 2             182.0        0.500000           1.137363               0.0   \n",
       " 3             245.0        1.000000           1.106122               0.0   \n",
       " 4             294.0        1.000000           1.149660               0.0   \n",
       " ..              ...             ...                ...               ...   \n",
       " 670        173656.0        0.100000           0.614819               0.0   \n",
       " 671        177324.0        5.000000           0.609150               0.0   \n",
       " 672        179047.0        3.000000           0.606813               0.0   \n",
       " 673        180126.0        2.666667           0.616285               0.0   \n",
       " 674        182028.0        0.271605           0.618388               0.0   \n",
       " \n",
       "      code_init  \n",
       " 0           AP  \n",
       " 1           AP  \n",
       " 2           AP  \n",
       " 3           AP  \n",
       " 4           AP  \n",
       " ..         ...  \n",
       " 670         AP  \n",
       " 671         AP  \n",
       " 672         AP  \n",
       " 673         AP  \n",
       " 674         AP  \n",
       " \n",
       " [675 rows x 38 columns],\n",
       " Empty DataFrame\n",
       " Columns: []\n",
       " Index: [],\n",
       "        code         m_nDatetime  m_nPrice  m_nOpen  m_nHigh  m_nLow  m_nClose  \\\n",
       " 0    AP2211 2022-11-02 09:01:00    8860.0   8860.0   8860.0  8860.0    8860.0   \n",
       " 1    AP2211 2022-11-02 09:02:00    8860.0   8860.0   8860.0  8860.0    8860.0   \n",
       " 2    AP2211 2022-11-02 09:03:00    8860.0   8860.0   8860.0  8860.0    8860.0   \n",
       " 3    AP2211 2022-11-02 09:04:00    8860.0   8860.0   8860.0  8860.0    8860.0   \n",
       " 4    AP2211 2022-11-02 09:05:00    8860.0   8860.0   8860.0  8860.0    8860.0   \n",
       " ..      ...                 ...       ...      ...      ...     ...       ...   \n",
       " 670  AP2301 2022-11-02 14:56:00    8264.0   8260.0   8269.0  8258.0    8264.0   \n",
       " 671  AP2301 2022-11-02 14:57:00    8271.0   8264.0   8275.0  8263.0    8271.0   \n",
       " 672  AP2301 2022-11-02 14:58:00    8269.0   8272.0   8276.0  8268.0    8269.0   \n",
       " 673  AP2301 2022-11-02 14:59:00    8269.0   8270.0   8277.0  8269.0    8269.0   \n",
       " 674  AP2301 2022-11-02 15:00:00    8265.0   8268.0   8270.0  8260.0    8265.0   \n",
       " \n",
       "      m_nAccHigh  m_nAccLow  m_iVolume  ...  m_nActAskTurnover  \\\n",
       " 0        8860.0     8860.0          0  ...                0.0   \n",
       " 1        8860.0     8860.0          0  ...                0.0   \n",
       " 2        8860.0     8860.0          0  ...                0.0   \n",
       " 3        8860.0     8860.0          0  ...                0.0   \n",
       " 4        8860.0     8860.0          0  ...                0.0   \n",
       " ..          ...        ...        ...  ...                ...   \n",
       " 670      8325.0     8190.0        523  ...          2124105.0   \n",
       " 671      8325.0     8190.0        998  ...          3355590.0   \n",
       " 672      8325.0     8190.0        435  ...          1603410.0   \n",
       " 673      8325.0     8190.0        942  ...          3190290.0   \n",
       " 674      8325.0     8190.0       1626  ...          6190485.0   \n",
       " \n",
       "      m_nAccActAskTurnover  m_nBidOrder  m_nAccBidOrder  m_nAskOrder  \\\n",
       " 0                     0.0          1.0             1.0          1.0   \n",
       " 1                     0.0          5.0             6.0          5.0   \n",
       " 2                     0.0          0.0             6.0          0.0   \n",
       " 3                     0.0          0.0             6.0          0.0   \n",
       " 4                     0.0          0.0             6.0          0.0   \n",
       " ..                    ...          ...             ...          ...   \n",
       " 670           682298903.0       1040.0        285907.0       1062.0   \n",
       " 671           685654493.0       1512.0        287419.0       2259.0   \n",
       " 672           687257903.0        696.0        288115.0       1567.0   \n",
       " 673           690448193.0       2008.0        290123.0       2516.0   \n",
       " 674           696638678.0       2027.0        292150.0       2496.0   \n",
       " \n",
       "      m_nAccAskOrder  m_nABOrderRate  m_nAccABOrderRate  m_nMItemsVolRate  \\\n",
       " 0               1.0        1.000000           1.000000               0.0   \n",
       " 1               6.0        1.000000           1.000000               0.0   \n",
       " 2               6.0        1.000000           1.000000               0.0   \n",
       " 3               6.0        1.000000           1.000000               0.0   \n",
       " 4               6.0        1.000000           1.000000               0.0   \n",
       " ..              ...             ...                ...               ...   \n",
       " 670        278256.0        4.600000           1.027496               0.0   \n",
       " 671        280515.0        9.000000           1.024612               0.0   \n",
       " 672        282082.0        6.666667           1.021387               0.0   \n",
       " 673        284598.0        7.000000           1.019413               0.0   \n",
       " 674        287094.0        1.941176           1.017611               0.0   \n",
       " \n",
       "      code_init  \n",
       " 0           AP  \n",
       " 1           AP  \n",
       " 2           AP  \n",
       " 3           AP  \n",
       " 4           AP  \n",
       " ..         ...  \n",
       " 670         AP  \n",
       " 671         AP  \n",
       " 672         AP  \n",
       " 673         AP  \n",
       " 674         AP  \n",
       " \n",
       " [675 rows x 38 columns]]"
      ]
     },
     "execution_count": 19,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Asyn worker closed peacefully.\n",
      "Asyn worker closed peacefully.\n",
      "Asyn worker closed peacefully.\n",
      "Asyn worker closed peacefully.\n",
      "Asyn worker closed peacefully.\n",
      "Asyn worker closed peacefully.Asyn worker closed peacefully.\n",
      "\n",
      "Asyn worker closed peacefully.\n",
      "Asyn worker closed peacefully.\n",
      "Asyn worker closed peacefully.\n",
      "Asyn worker closed peacefully.\n",
      "Asyn worker closed peacefully.\n",
      "Asyn worker closed peacefully.\n",
      "Asyn worker closed peacefully.\n",
      "Asyn worker closed peacefully.\n",
      "Asyn worker closed peacefully.\n",
      "Asyn worker closed peacefully.\n",
      "Asyn worker closed peacefully.\n",
      "Asyn worker closed peacefully.\n",
      "Asyn worker closed peacefully.\n"
     ]
    }
   ],
   "source": [
    "df_list\n"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3.8.9 64-bit",
   "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.9.6"
  },
  "orig_nbformat": 4,
  "vscode": {
   "interpreter": {
    "hash": "31f2aee4e71d21fbe5cf8b01ff0e069b9275f58929596ceb00d14d90e3e16cd6"
   }
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}