{ "cells": [ { "cell_type": "code", "execution_count": 2, "id": "7246e0c8-61cd-4cbf-a978-aa0dc0172d6d", "metadata": {}, "outputs": [], "source": [ "import dolphindb as ddb" ] }, { "cell_type": "code", "execution_count": 3, "id": "5d0f471e-682e-43cc-abdb-7e52f3bbd707", "metadata": {}, "outputs": [], "source": [ "sess = ddb.session('localhost', 8848)\n", "sess.login('admin', '123456')" ] }, { "cell_type": "code", "execution_count": null, "id": "fca58bdc-2aa1-4610-9a94-67d55f97a6e1", "metadata": {}, "outputs": [], "source": [ "sess.run(\"\"\"\n", " migrate('/data/dolphindb/backup/', \"dfs://hft_stock_ts\", \"OrderPartitioned\")\n", "\"\"\")" ] }, { "cell_type": "code", "execution_count": 60, "id": "ed17fd0b-9b36-47e4-9ab6-11459a3621fb", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "115548" ] }, "execution_count": 60, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sess = ddb.session('192.168.1.7', 8848)\n", "sess.login('admin', '123456')\n", "\n", "# backup(backup_path, sql_obj, force, parallel)\n", "code = \"\"\"\n", " backup('/data/dolphindb/backup/', <select * from loadTable(\"dfs://hft_stock_ts\", \"TickPartitioned\")>, true, true)\n", "\"\"\"\n", "\n", "sess.run(code)" ] }, { "cell_type": "code", "execution_count": 32, "id": "c8d07fc8-d80c-490f-9220-0d3e8e4c72a4", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "50" ] }, "execution_count": 32, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sess = ddb.session('localhost', 8848)\n", "sess.login('admin', '123456')\n", "\n", "# backup(backup_path, sql_obj, force, parallel)\n", "code = \"\"\"\n", " backup('/data/dolphindb/backup/', <select * from loadTable(\"dfs://pit_stock_ts\", \"bs_common_ori\")>, true, false);\n", " backup('/data/dolphindb/backup/', <select * from loadTable(\"dfs://pit_stock_ts\", \"bs_common_adj\")>, true, false);\n", " \n", " backup('/data/dolphindb/backup/', <select * from loadTable(\"dfs://pit_stock_ts\", \"cfs_common_ori\")>, true, false);\n", " backup('/data/dolphindb/backup/', <select * from loadTable(\"dfs://pit_stock_ts\", \"cfs_common_adj\")>, true, false);\n", " \n", " backup('/data/dolphindb/backup/', <select * from loadTable(\"dfs://pit_stock_ts\", \"is_common_adj\")>, true, false);\n", " backup('/data/dolphindb/backup/', <select * from loadTable(\"dfs://pit_stock_ts\", \"is_common_adj\")>, true, false);\n", " \n", " backup('/data/dolphindb/backup/', <select * from loadTable(\"dfs://pit_stock_ts\", \"divident\")>, true, false);\n", " backup('/data/dolphindb/backup/', <select * from loadTable(\"dfs://pit_stock_ts\", \"earnings_preannouncement\")>, true, false);\n", " backup('/data/dolphindb/backup/', <select * from loadTable(\"dfs://pit_stock_ts\", \"preliminary_earnings_estimate\")>, true, false);\n", "\"\"\"\n", "\n", "sess.run(code)" ] }, { "cell_type": "code", "execution_count": 33, "id": "8b7dae3d-aef1-4c50-92b2-460d4fea0a96", "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>tableName</th>\n", " <th>physicalIndex</th>\n", " </tr>\n", " </thead>\n", " <tbody>\n", " <tr>\n", " <th>0</th>\n", " <td>daily_kline</td>\n", " <td>uoH</td>\n", " </tr>\n", " <tr>\n", " <th>1</th>\n", " <td>hft_daily_factor</td>\n", " <td>u6J</td>\n", " </tr>\n", " </tbody>\n", "</table>\n", "</div>" ], "text/plain": [ " tableName physicalIndex\n", "0 daily_kline uoH\n", "1 hft_daily_factor u6J" ] }, "execution_count": 33, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sess.run(\"\"\"\n", " listTables(\"dfs://daily_stock_ts\");\n", "\"\"\")" ] }, { "cell_type": "code", "execution_count": 34, "id": "8af3381d-9fdc-4cb0-b3a9-d6538db97476", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "50" ] }, "execution_count": 34, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sess.run(\"\"\"\n", " backup('/data/dolphindb/backup/', <select * from loadTable(\"dfs://daily_stock_ts\", \"daily_kline\") >, true, false);\n", "\"\"\")" ] }, { "cell_type": "code", "execution_count": 69, "id": "bf3bc38e-74cb-4549-bdca-6a3d2a601488", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "2287.0" ] }, "execution_count": 69, "metadata": {}, "output_type": "execute_result" } ], "source": [ "114350 / 50" ] }, { "cell_type": "code", "execution_count": 6, "id": "11275975-af43-4123-973a-f75096eb4e43", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "2311.0" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "115550 / 50" ] }, { "cell_type": "code", "execution_count": 25, "id": "155735c7-bdad-4c64-a2a1-514fe54e088c", "metadata": {}, "outputs": [], "source": [ "import dolphindb as ddb\n", "\n", "sess = ddb.session('localhost', 8848)\n", "sess.login('admin', '123456')" ] }, { "cell_type": "code", "execution_count": 5, "id": "a2e95bc5-c1d5-47f5-9488-9b8702947afc", "metadata": {}, "outputs": [], "source": [ "# migrate(backupDir, [backupDBPath], [backupTableName], [newDBPath=backupDBPath], [newTableName=backupTableName])\n", "code = \"\"\"\n", " migrate('/data/dolphindb/backup/',\"dfs://hft_stock_ts\", \"KLinePartitioned\")\n", "\"\"\"" ] }, { "cell_type": "code", "execution_count": null, "id": "8a6198ef-e7f1-4f58-ba24-32dc429c9803", "metadata": {}, "outputs": [], "source": [ "sess.run(code)" ] }, { "cell_type": "code", "execution_count": 28, "id": "60f71516-33fc-4147-9740-c493ccb6b6a8", "metadata": {}, "outputs": [], "source": [ "def make_kurto_code_partition(partition_num):\n", " code = \"\"\"\n", " tbl = loadTable(\"dfs://hft_stock_ts\", \"KLinePartitioned\");\n", " ret = select \n", " code, m_nDate, eachPre(\\, m_nClose)-1.0 as ret \n", " from tbl \n", " where partition(code, {partition_num}) \n", " context by m_nDate;\n", " kurto = select \n", " code, m_nDate, sqrt(239) * sum(pow(ret, 3)) / pow(sum(pow(ret, 2)), 1.5) as kurto \n", " from ret \n", " group by code, m_nDate;\n", " \"\"\".format(\n", " partition_num = partition_num\n", " )\n", " sess.run(code)" ] }, { "cell_type": "code", "execution_count": 32, "id": "1397c1b7-f81a-465e-868a-894b3ef818fc", "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>count</th>\n", " </tr>\n", " </thead>\n", " <tbody>\n", " <tr>\n", " <th>0</th>\n", " <td>000400.SZ</td>\n", " <td>2305</td>\n", " </tr>\n", " <tr>\n", " <th>1</th>\n", " <td>000558.SZ</td>\n", " <td>2063</td>\n", " </tr>\n", " <tr>\n", " <th>2</th>\n", " <td>000602.SZ</td>\n", " <td>47</td>\n", " </tr>\n", " <tr>\n", " <th>3</th>\n", " <td>000677.SZ</td>\n", " <td>2009</td>\n", " </tr>\n", " <tr>\n", " <th>4</th>\n", " <td>000731.SZ</td>\n", " <td>2311</td>\n", " </tr>\n", " <tr>\n", " <th>...</th>\n", " <td>...</td>\n", " <td>...</td>\n", " </tr>\n", " <tr>\n", " <th>94</th>\n", " <td>688039.SH</td>\n", " <td>624</td>\n", " </tr>\n", " <tr>\n", " <th>95</th>\n", " <td>688052.SH</td>\n", " <td>52</td>\n", " </tr>\n", " <tr>\n", " <th>96</th>\n", " <td>688091.SH</td>\n", " <td>198</td>\n", " </tr>\n", " <tr>\n", " <th>97</th>\n", " <td>688368.SH</td>\n", " <td>656</td>\n", " </tr>\n", " <tr>\n", " <th>98</th>\n", " <td>688396.SH</td>\n", " <td>575</td>\n", " </tr>\n", " </tbody>\n", "</table>\n", "<p>99 rows × 2 columns</p>\n", "</div>" ], "text/plain": [ " code count\n", "0 000400.SZ 2305\n", "1 000558.SZ 2063\n", "2 000602.SZ 47\n", "3 000677.SZ 2009\n", "4 000731.SZ 2311\n", ".. ... ...\n", "94 688039.SH 624\n", "95 688052.SH 52\n", "96 688091.SH 198\n", "97 688368.SH 656\n", "98 688396.SH 575\n", "\n", "[99 rows x 2 columns]" ] }, "execution_count": 32, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sess.run(\"\"\"\n", " select code, count(*) from kurto group by code\n", "\"\"\")" ] }, { "cell_type": "code", "execution_count": 12, "id": "59758901-3728-4355-bbb8-15b3eb537cdf", "metadata": {}, "outputs": [], "source": [ "def create_daily_ddb_database():\n", " code = \"\"\"\n", " daily_stock_ts = database(\n", " \"dfs://daily_stock_ts\", \n", " HASH, [SYMBOL, 50], \n", " engine = 'TSDB'\n", " )\n", " \"\"\"\n", " sess.run(code)" ] }, { "cell_type": "code", "execution_count": 38, "id": "d8fa94ae-6ca4-41f3-8b13-47ab8876ba95", "metadata": {}, "outputs": [], "source": [ "def load_daily_ddb_database():\n", " code = \"\"\"\n", " daily_stock_ts = database(\"dfs://daily_stock_ts\")\n", " \"\"\"\n", " sess.run(code)\n", "\n", "load_daily_ddb_database()" ] }, { "cell_type": "code", "execution_count": 43, "id": "84eb237e-959c-419f-bce1-6779acda86d4", "metadata": {}, "outputs": [], "source": [ "def create_kurto_partition_table():\n", " # createPartitionedTable(dbHandle, table, tableName, [partitionColumns], [compressMethods], [sortColumns], [keepDuplicates=ALL], [sortKeyMappingFunction])\n", " code = \"\"\"\n", " dropTable(daily_stock_ts, \"kurto_partitioned\");\n", " kurto_partitioned = createPartitionedTable(\n", " daily_stock_ts,\n", " kurto, \n", " \"kurto_partitioned\",\n", " partitionColumns = 'code',\n", " compressMethods = {'m_nDate' : 'delta'},\n", " sortColumns = `code`m_nDate\n", " );\n", " \"\"\"\n", " sess.run(code)\n", " \n", "create_kurto_partition_table()" ] }, { "cell_type": "code", "execution_count": 40, "id": "0d93b3d1-39b7-4e23-8abf-eda86dcd2a23", "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_nDate</th>\n", " <th>kurto</th>\n", " </tr>\n", " </thead>\n", " <tbody>\n", " <tr>\n", " <th>0</th>\n", " <td>000400.SZ</td>\n", " <td>2013-01-04</td>\n", " <td>-0.317991</td>\n", " </tr>\n", " <tr>\n", " <th>1</th>\n", " <td>000558.SZ</td>\n", " <td>2013-01-04</td>\n", " <td>-15.387820</td>\n", " </tr>\n", " <tr>\n", " <th>2</th>\n", " <td>000677.SZ</td>\n", " <td>2013-01-04</td>\n", " <td>-15.459625</td>\n", " </tr>\n", " <tr>\n", " <th>3</th>\n", " <td>000731.SZ</td>\n", " <td>2013-01-04</td>\n", " <td>15.443339</td>\n", " </tr>\n", " <tr>\n", " <th>4</th>\n", " <td>000752.SZ</td>\n", " <td>2013-01-04</td>\n", " <td>15.396262</td>\n", " </tr>\n", " <tr>\n", " <th>5</th>\n", " <td>000789.SZ</td>\n", " <td>2013-01-04</td>\n", " <td>-14.801720</td>\n", " </tr>\n", " <tr>\n", " <th>6</th>\n", " <td>000903.SZ</td>\n", " <td>2013-01-04</td>\n", " <td>-15.405085</td>\n", " </tr>\n", " <tr>\n", " <th>7</th>\n", " <td>000912.SZ</td>\n", " <td>2013-01-04</td>\n", " <td>14.755241</td>\n", " </tr>\n", " <tr>\n", " <th>8</th>\n", " <td>000935.SZ</td>\n", " <td>2013-01-04</td>\n", " <td>15.413214</td>\n", " </tr>\n", " <tr>\n", " <th>9</th>\n", " <td>000970.SZ</td>\n", " <td>2013-01-04</td>\n", " <td>15.458413</td>\n", " </tr>\n", " </tbody>\n", "</table>\n", "</div>" ], "text/plain": [ " code m_nDate kurto\n", "0 000400.SZ 2013-01-04 -0.317991\n", "1 000558.SZ 2013-01-04 -15.387820\n", "2 000677.SZ 2013-01-04 -15.459625\n", "3 000731.SZ 2013-01-04 15.443339\n", "4 000752.SZ 2013-01-04 15.396262\n", "5 000789.SZ 2013-01-04 -14.801720\n", "6 000903.SZ 2013-01-04 -15.405085\n", "7 000912.SZ 2013-01-04 14.755241\n", "8 000935.SZ 2013-01-04 15.413214\n", "9 000970.SZ 2013-01-04 15.458413" ] }, "execution_count": 40, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sess.run(\"\"\"\n", " kurto_partitioned.tableInsert(kurto);\n", "\"\"\")" ] }, { "cell_type": "code", "execution_count": 41, "id": "eea5cb0b-8452-41a9-a0ad-7cf52c856c25", "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>count</th>\n", " </tr>\n", " </thead>\n", " <tbody>\n", " <tr>\n", " <th>0</th>\n", " <td>154953</td>\n", " </tr>\n", " </tbody>\n", "</table>\n", "</div>" ], "text/plain": [ " count\n", "0 154953" ] }, "execution_count": 41, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sess.run(\"\"\"\n", " select count(*) from kurto_partitioned;\n", "\"\"\")" ] }, { "cell_type": "code", "execution_count": 45, "id": "9e7bc856-517b-4bf9-866d-4fe85b9705a3", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "{'partitionType': 5,\n", " 'partitionColumnType': 17,\n", " 'partitionColumnIndex': 0,\n", " 'chunkPath': None,\n", " 'colDefs': name typeString typeInt comment\n", " 0 code SYMBOL 17 \n", " 1 m_nDate DATE 6 \n", " 2 kurto DOUBLE 16 ,\n", " 'chunkGranularity': 'TABLE',\n", " 'partitionTypeName': 'HASH',\n", " 'keepDuplicates': 'ALL',\n", " 'engineType': 'TSDB',\n", " 'partitionColumnName': 'code',\n", " 'partitionSchema': 50,\n", " 'sortColumns': array(['code', 'm_nDate'], dtype=object),\n", " 'partitionSites': None}" ] }, "execution_count": 45, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sess.run(\"\"\"\n", " schema(loadTable(\"dfs://daily_stock_ts\", \"kurto_partitioned\"));\n", "\"\"\")" ] }, { "cell_type": "code", "execution_count": 46, "id": "94ae00b5-ba42-48b9-b114-012cf306d871", "metadata": {}, "outputs": [], "source": [ "sess.run(\"m_table = table(kurto)\")" ] }, { "cell_type": "code", "execution_count": 47, "id": "e30134f9-5110-421d-8f71-1bef25e7ef17", "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_nDate</th>\n", " <th>kurto</th>\n", " </tr>\n", " </thead>\n", " <tbody>\n", " <tr>\n", " <th>0</th>\n", " <td>000400.SZ</td>\n", " <td>2013-01-04</td>\n", " <td>-0.317991</td>\n", " </tr>\n", " <tr>\n", " <th>1</th>\n", " <td>000400.SZ</td>\n", " <td>2013-01-07</td>\n", " <td>0.790872</td>\n", " </tr>\n", " <tr>\n", " <th>2</th>\n", " <td>000400.SZ</td>\n", " <td>2013-01-08</td>\n", " <td>0.655005</td>\n", " </tr>\n", " <tr>\n", " <th>3</th>\n", " <td>000400.SZ</td>\n", " <td>2013-01-09</td>\n", " <td>0.965054</td>\n", " </tr>\n", " <tr>\n", " <th>4</th>\n", " <td>000400.SZ</td>\n", " <td>2013-01-10</td>\n", " <td>-0.116488</td>\n", " </tr>\n", " <tr>\n", " <th>...</th>\n", " <td>...</td>\n", " <td>...</td>\n", " <td>...</td>\n", " </tr>\n", " <tr>\n", " <th>154948</th>\n", " <td>688396.SH</td>\n", " <td>2022-07-04</td>\n", " <td>-15.420192</td>\n", " </tr>\n", " <tr>\n", " <th>154949</th>\n", " <td>688396.SH</td>\n", " <td>2022-07-05</td>\n", " <td>-15.426922</td>\n", " </tr>\n", " <tr>\n", " <th>154950</th>\n", " <td>688396.SH</td>\n", " <td>2022-07-06</td>\n", " <td>-15.389434</td>\n", " </tr>\n", " <tr>\n", " <th>154951</th>\n", " <td>688396.SH</td>\n", " <td>2022-07-07</td>\n", " <td>-15.411602</td>\n", " </tr>\n", " <tr>\n", " <th>154952</th>\n", " <td>688396.SH</td>\n", " <td>2022-07-08</td>\n", " <td>-15.401453</td>\n", " </tr>\n", " </tbody>\n", "</table>\n", "<p>154953 rows × 3 columns</p>\n", "</div>" ], "text/plain": [ " code m_nDate kurto\n", "0 000400.SZ 2013-01-04 -0.317991\n", "1 000400.SZ 2013-01-07 0.790872\n", "2 000400.SZ 2013-01-08 0.655005\n", "3 000400.SZ 2013-01-09 0.965054\n", "4 000400.SZ 2013-01-10 -0.116488\n", "... ... ... ...\n", "154948 688396.SH 2022-07-04 -15.420192\n", "154949 688396.SH 2022-07-05 -15.426922\n", "154950 688396.SH 2022-07-06 -15.389434\n", "154951 688396.SH 2022-07-07 -15.411602\n", "154952 688396.SH 2022-07-08 -15.401453\n", "\n", "[154953 rows x 3 columns]" ] }, "execution_count": 47, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sess.run(\"m_table\")" ] }, { "cell_type": "code", "execution_count": 51, "id": "947e3346-15f6-4fb5-b2d6-b97b013a3b36", "metadata": {}, "outputs": [], "source": [ "code = \"\"\"\n", " // 保证创建新的分区表不会和已经存在表冲突\n", " if (existsTable(\"{ddb_daily_path}\", \"{partition_tbl_name}\")) {{\n", " dropTable({ddb_daily_dbname}, \"{partition_tbl_name}\");\n", " }}\n", "\n", " {partition_tbl_name} = createPartitionedTable(\n", " dbHandle = {ddb_daily_dbname},\n", " table = {memory_tbl_name}, \n", " \"{partition_tbl_name}\",\n", " partitionColumns = 'code',\n", " compressMethods = {{'m_nDate' : 'delta'}},\n", " sortColumns = `code`m_nDate\n", " );\n", "\"\"\".format(\n", " ddb_daily_path = \"A\",\n", " ddb_daily_dbname = \"B\",\n", " partition_tbl_name = \"C\",\n", " memory_tbl_name = \"D\",\n", ")" ] }, { "cell_type": "code", "execution_count": 53, "id": "5d758c68-301a-47a7-9cd2-b7dd7edf1a55", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "('\\n'\n", " ' // 保证创建新的分区表不会和已经存在表冲突\\n'\n", " ' if (existsTable(\"A\", \"C\")) {\\n'\n", " ' dropTable(B, \"C\");\\n'\n", " ' }\\n'\n", " '\\n'\n", " ' C = createPartitionedTable(\\n'\n", " ' dbHandle = B,\\n'\n", " ' table = D, \\n'\n", " ' \"C\",\\n'\n", " \" partitionColumns = 'code',\\n\"\n", " \" compressMethods = {'m_nDate' : 'delta'},\\n\"\n", " ' sortColumns = `code`m_nDate\\n'\n", " ' );\\n')\n" ] } ], "source": [ "from pprint import pprint\n", "pprint(code)" ] }, { "cell_type": "code", "execution_count": 56, "id": "400424d9-9c58-4417-94e4-fe1569522b03", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "{'chunkGranularity': 'TABLE',\n", " 'chunkPath': None,\n", " 'colDefs': name typeString typeInt comment\n", "0 code SYMBOL 17 \n", "1 m_nDate DATE 6 \n", "2 kurto DOUBLE 16 ,\n", " 'engineType': 'TSDB',\n", " 'keepDuplicates': 'ALL',\n", " 'partitionColumnIndex': 0,\n", " 'partitionColumnName': 'code',\n", " 'partitionColumnType': 17,\n", " 'partitionSchema': 50,\n", " 'partitionSites': None,\n", " 'partitionType': 5,\n", " 'partitionTypeName': 'HASH',\n", " 'sortColumns': array(['code', 'm_nDate'], dtype=object)}\n" ] } ], "source": [ "pprint(\n", " sess.run(\"\"\"\n", " schema(loadTable(\"dfs://daily_stock_ts\", \"hft_daily_factor\"));\n", " \"\"\")\n", ")" ] }, { "cell_type": "code", "execution_count": 62, "id": "68e74de8-359c-4c47-a361-2c006896211c", "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>count</th>\n", " </tr>\n", " </thead>\n", " <tbody>\n", " <tr>\n", " <th>0</th>\n", " <td>309906</td>\n", " </tr>\n", " </tbody>\n", "</table>\n", "</div>" ], "text/plain": [ " count\n", "0 309906" ] }, "execution_count": 62, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sess.run(\"\"\"\n", " select count(*) from loadTable(\"dfs://daily_stock_ts\", \"hft_daily_factor\");\n", "\"\"\")" ] }, { "cell_type": "code", "execution_count": 21, "id": "b1bd7605-c347-44f2-a90f-bc949cde0ef0", "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>report_period</th>\n", " <th>appear_in_period</th>\n", " <th>appear_at_date</th>\n", " <th>TOT_OPER_REV</th>\n", " <th>OPER_REV</th>\n", " <th>INT_INC</th>\n", " <th>INSUR_PREM_UNEARNED</th>\n", " <th>HANDLING_CHRG_COMM_INC</th>\n", " <th>NET_INC_OTHER_OPS</th>\n", " <th>...</th>\n", " <th>OTHER_INCOME</th>\n", " <th>MEMO</th>\n", " <th>ASSET_DISPOSAL_INCOME</th>\n", " <th>CONTINUED_NET_PROFIT</th>\n", " <th>END_NET_PROFIT</th>\n", " <th>CREDIT_IMPAIRMENT_LOSS</th>\n", " <th>RD_EXPENSE</th>\n", " <th>STMNOTE_FINEXP</th>\n", " <th>FIN_EXP_INT_INC</th>\n", " <th>TOT_OPER_COST2</th>\n", " </tr>\n", " </thead>\n", " <tbody>\n", " <tr>\n", " <th>0</th>\n", " <td>000677.SZ</td>\n", " <td>2009-12-31</td>\n", " <td>2009-12-31</td>\n", " <td>2010-04-26</td>\n", " <td>3.514495e+09</td>\n", " <td>3.514495e+09</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>26392229.68</td>\n", " <td>...</td>\n", " <td>0.0</td>\n", " <td>nan</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>3.474455e+09</td>\n", " </tr>\n", " <tr>\n", " <th>1</th>\n", " <td>000677.SZ</td>\n", " <td>2009-12-31</td>\n", " <td>2009-12-31</td>\n", " <td>2011-12-10</td>\n", " <td>3.514495e+09</td>\n", " <td>3.514495e+09</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>26392229.68</td>\n", " <td>...</td>\n", " <td>0.0</td>\n", " <td>nan</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>3.460335e+09</td>\n", " </tr>\n", " </tbody>\n", "</table>\n", "<p>2 rows × 69 columns</p>\n", "</div>" ], "text/plain": [ " code report_period appear_in_period appear_at_date TOT_OPER_REV \\\n", "0 000677.SZ 2009-12-31 2009-12-31 2010-04-26 3.514495e+09 \n", "1 000677.SZ 2009-12-31 2009-12-31 2011-12-10 3.514495e+09 \n", "\n", " OPER_REV INT_INC INSUR_PREM_UNEARNED HANDLING_CHRG_COMM_INC \\\n", "0 3.514495e+09 0.0 0.0 0.0 \n", "1 3.514495e+09 0.0 0.0 0.0 \n", "\n", " NET_INC_OTHER_OPS ... OTHER_INCOME MEMO ASSET_DISPOSAL_INCOME \\\n", "0 26392229.68 ... 0.0 nan 0.0 \n", "1 26392229.68 ... 0.0 nan 0.0 \n", "\n", " CONTINUED_NET_PROFIT END_NET_PROFIT CREDIT_IMPAIRMENT_LOSS RD_EXPENSE \\\n", "0 0.0 0.0 0.0 0.0 \n", "1 0.0 0.0 0.0 0.0 \n", "\n", " STMNOTE_FINEXP FIN_EXP_INT_INC TOT_OPER_COST2 \n", "0 0.0 0.0 3.474455e+09 \n", "1 0.0 0.0 3.460335e+09 \n", "\n", "[2 rows x 69 columns]" ] }, "execution_count": 21, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import dolphindb as ddb \n", "\n", "sess = ddb.session('192.168.1.167', 8848)\n", "sess.login('admin', '123456')\n", "\n", "sess.run(\"\"\"\n", " is_common_adj = loadTable(\"dfs://pit_stock_ts\", \"is_common_adj\")\n", " is_common_ori = loadTable(\"dfs://pit_stock_ts\", \"is_common_ori\")\n", " select * from is_common_ori where code='000677.SZ' and report_period=2009.12.31\n", "\"\"\")" ] }, { "cell_type": "code", "execution_count": 25, "id": "f0b3928d-c06f-4976-b568-091d98293a6e", "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>report_period</th>\n", " <th>appear_in_period</th>\n", " <th>appear_at_date</th>\n", " <th>TOT_OPER_REV</th>\n", " <th>OPER_REV</th>\n", " <th>INT_INC</th>\n", " <th>INSUR_PREM_UNEARNED</th>\n", " <th>HANDLING_CHRG_COMM_INC</th>\n", " <th>NET_INC_OTHER_OPS</th>\n", " <th>...</th>\n", " <th>OTHER_INCOME</th>\n", " <th>MEMO</th>\n", " <th>ASSET_DISPOSAL_INCOME</th>\n", " <th>CONTINUED_NET_PROFIT</th>\n", " <th>END_NET_PROFIT</th>\n", " <th>CREDIT_IMPAIRMENT_LOSS</th>\n", " <th>RD_EXPENSE</th>\n", " <th>STMNOTE_FINEXP</th>\n", " <th>FIN_EXP_INT_INC</th>\n", " <th>TOT_OPER_COST2</th>\n", " </tr>\n", " </thead>\n", " <tbody>\n", " <tr>\n", " <th>0</th>\n", " <td>000677.SZ</td>\n", " <td>2009-12-31</td>\n", " <td>2010-12-31</td>\n", " <td>2011-04-29</td>\n", " <td>3.514495e+09</td>\n", " <td>3.514495e+09</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>26392229.68</td>\n", " <td>...</td>\n", " <td>0.0</td>\n", " <td>nan</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>3.474455e+09</td>\n", " </tr>\n", " </tbody>\n", "</table>\n", "<p>1 rows × 69 columns</p>\n", "</div>" ], "text/plain": [ " code report_period appear_in_period appear_at_date TOT_OPER_REV \\\n", "0 000677.SZ 2009-12-31 2010-12-31 2011-04-29 3.514495e+09 \n", "\n", " OPER_REV INT_INC INSUR_PREM_UNEARNED HANDLING_CHRG_COMM_INC \\\n", "0 3.514495e+09 0.0 0.0 0.0 \n", "\n", " NET_INC_OTHER_OPS ... OTHER_INCOME MEMO ASSET_DISPOSAL_INCOME \\\n", "0 26392229.68 ... 0.0 nan 0.0 \n", "\n", " CONTINUED_NET_PROFIT END_NET_PROFIT CREDIT_IMPAIRMENT_LOSS RD_EXPENSE \\\n", "0 0.0 0.0 0.0 0.0 \n", "\n", " STMNOTE_FINEXP FIN_EXP_INT_INC TOT_OPER_COST2 \n", "0 0.0 0.0 3.474455e+09 \n", "\n", "[1 rows x 69 columns]" ] }, "execution_count": 25, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sess.run(\"select * from is_common_adj where code='000677.SZ' and report_period=2009.12.31\")" ] }, { "cell_type": "code", "execution_count": 29, "id": "d68ea326-82c3-4a7c-97cf-c04dd8aee56b", "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>sum_cnt</th>\n", " </tr>\n", " </thead>\n", " <tbody>\n", " <tr>\n", " <th>0</th>\n", " <td>1468390810</td>\n", " </tr>\n", " </tbody>\n", "</table>\n", "</div>" ], "text/plain": [ " sum_cnt\n", "0 1468390810" ] }, "execution_count": 29, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sess = ddb.session('192.168.1.7', 8848)\n", "sess.login('admin', '123456')\n", "sess.run(\"\"\"\n", "tbl = loadTable(\"dfs://hft_stock_ts\", 'TickPartitioned');\n", "select sum(cnt) from (select count(*) as cnt from tbl map);\n", "\"\"\")" ] }, { "cell_type": "code", "execution_count": 38, "id": "7cbc4906-7756-424a-9ce5-9d2b6d1bab4b", "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>sum_cnt</th>\n", " </tr>\n", " </thead>\n", " <tbody>\n", " <tr>\n", " <th>0</th>\n", " <td>4991926704</td>\n", " </tr>\n", " </tbody>\n", "</table>\n", "</div>" ], "text/plain": [ " sum_cnt\n", "0 4991926704" ] }, "execution_count": 38, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sess = ddb.session('192.168.1.7', 8848)\n", "sess.login('admin', '123456')\n", "sess.run(\"\"\"\n", " tbl = loadTable(\"dfs://hft_stock_ts\", 'TickPartitioned');\n", " select sum(cnt) from (select count(*) as cnt from tbl map);\n", "\"\"\")" ] }, { "cell_type": "code", "execution_count": 39, "id": "e9ab5e57-dce5-4426-9bac-4238cd067197", "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>sum_cnt</th>\n", " </tr>\n", " </thead>\n", " <tbody>\n", " <tr>\n", " <th>0</th>\n", " <td>9388749</td>\n", " </tr>\n", " </tbody>\n", "</table>\n", "</div>" ], "text/plain": [ " sum_cnt\n", "0 9388749" ] }, "execution_count": 39, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sess.run(\"\"\"\n", " select sum(cnt) from (select count(*) as cnt from tbl where code='002182.SZ' map);\n", "\"\"\")" ] }, { "cell_type": "code", "execution_count": 100, "id": "4ba45027-bbb5-4b27-99da-3452cc8d2f1c", "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>count</th>\n", " </tr>\n", " </thead>\n", " <tbody>\n", " <tr>\n", " <th>0</th>\n", " <td>2227</td>\n", " </tr>\n", " </tbody>\n", "</table>\n", "</div>" ], "text/plain": [ " count\n", "0 2227" ] }, "execution_count": 100, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sess.run(\"\"\"\n", " select count(*) from (\n", " select code, m_nDate, count(*) as cnt from tbl where code='002459.SZ' group by code, m_nDate map\n", " );\n", "\"\"\")" ] }, { "cell_type": "code", "execution_count": 103, "id": "29ab8af5-e571-4064-b691-a186d9fb4d08", "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>count</th>\n", " </tr>\n", " <tr>\n", " <th>m_nDate</th>\n", " <th></th>\n", " </tr>\n", " </thead>\n", " <tbody>\n", " </tbody>\n", "</table>\n", "</div>" ], "text/plain": [ "Empty DataFrame\n", "Columns: [count]\n", "Index: []" ] }, "execution_count": 103, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df = sess.run(\"\"\"\n", " select m_nDate, count(*) from tbl where code='002458.SZ' group by m_nDate having count(*) > 5000 map;\n", "\"\"\").set_index('m_nDate')\n", "df" ] }, { "cell_type": "code", "execution_count": 51, "id": "013d191b-2a41-4d7b-8382-b6ee8764c2d0", "metadata": {}, "outputs": [], "source": [ "import sqlalchemy as sa\n", "engine = sa.create_engine(\n", " 'mssql+pyodbc://sa:passw0rd!@192.168.1.7/master?driver=ODBC+Driver+18+for+SQL+Server',\n", " connect_args = {\n", " \"TrustServerCertificate\": \"yes\"\n", " }, echo=False)" ] }, { "cell_type": "code", "execution_count": 54, "id": "c90e8e9d-cde0-4a7a-afd3-ea771483f001", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "'20130104'" ] }, "execution_count": 54, "metadata": {}, "output_type": "execute_result" } ], "source": [ "with engine.connect() as conn:\n", " rows = conn.execute(\"select * from [Level2BytesTick].dbo.[Tick] where S_INFO_WINDCODE='002182.SZ'\").fetchall()\n", " rows = [row for row in rows]\n", " " ] }, { "cell_type": "code", "execution_count": 58, "id": "525dfcf1-720a-4b65-90b5-28d0c2118cf5", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "True" ] }, "execution_count": 58, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import pandas as pd\n", "dt = pd.to_datetime(rows[0][1], format='%Y%m%d')\n", "dt in df.index" ] }, { "cell_type": "code", "execution_count": 31, "id": "0e6e949b-ff25-40eb-a70a-72a3a6639aec", "metadata": {}, "outputs": [ { "ename": "RuntimeError", "evalue": "<Exception> in run: Failed to read response header from the socket with IO error type 13", "output_type": "error", "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[0;31mRuntimeError\u001b[0m Traceback (most recent call last)", "Input \u001b[0;32mIn [31]\u001b[0m, in \u001b[0;36m<cell line: 15>\u001b[0;34m()\u001b[0m\n\u001b[1;32m 1\u001b[0m code \u001b[38;5;241m=\u001b[39m \u001b[38;5;124m\"\"\"\u001b[39m\n\u001b[1;32m 2\u001b[0m \u001b[38;5;124mtbl = loadTable(\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mdfs://hft_stock_ts\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124m, \u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mTickPartitioned\u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124m)\u001b[39m\n\u001b[1;32m 3\u001b[0m \n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 13\u001b[0m \u001b[38;5;124m}\u001b[39m\n\u001b[1;32m 14\u001b[0m \u001b[38;5;124m\"\"\"\u001b[39m\n\u001b[0;32m---> 15\u001b[0m \u001b[43msess\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mrun\u001b[49m\u001b[43m(\u001b[49m\u001b[43mcode\u001b[49m\u001b[43m)\u001b[49m\n", "File \u001b[0;32m~/.venv/tinysoft/lib/python3.8/site-packages/dolphindb/session.py:161\u001b[0m, in \u001b[0;36msession.run\u001b[0;34m(self, script, *args, **kwargs)\u001b[0m\n\u001b[1;32m 159\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mfetchSize\u001b[39m\u001b[38;5;124m\"\u001b[39m \u001b[38;5;129;01min\u001b[39;00m kwargs\u001b[38;5;241m.\u001b[39mkeys():\n\u001b[1;32m 160\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m BlockReader(\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mcpp\u001b[38;5;241m.\u001b[39mrunBlock(script, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs))\n\u001b[0;32m--> 161\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mcpp\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mrun\u001b[49m\u001b[43m(\u001b[49m\u001b[43mscript\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n", "\u001b[0;31mRuntimeError\u001b[0m: <Exception> in run: Failed to read response header from the socket with IO error type 13" ] } ], "source": [ "code = \"\"\"\n", "tbl = loadTable(\"dfs://hft_stock_ts\", 'TickPartitioned')\n", "\n", "for (code in ['000666.SZ' , '000667.SZ', '000668.SZ', '000669.SZ']) {\n", "\tdel_date = 2013.01.01\n", "\t//end_date = 2013.01.31\n", "\tdo {\n", "\t\t//print('Deleting ' + code + ' from ' + start_date + ' to ' + end_date);\n", "\t\tprint('Deleting ' + code + ' of ' + del_date);\n", "\t\tdelete from tbl where m_nDate=del_date, code=code;\n", "\t\tdel_date = temporalAdd(del_date, 1, \"d\");\n", "\t} while (del_date <= 2022.12.31)\n", "}\n", "\"\"\"\n", "# 这段代码运行好赶紧注释掉,非常危险\n", "# sess.run(code)" ] }, { "cell_type": "code", "execution_count": 37, "id": "ea0501e7-d416-45ce-add5-e443c55f158c", "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>industry_code</th>\n", " <th>industry_name</th>\n", " <th>industry_level</th>\n", " <th>enter_date</th>\n", " <th>exit_date</th>\n", " <th>is_new</th>\n", " <th>industry_class</th>\n", " </tr>\n", " </thead>\n", " <tbody>\n", " <tr>\n", " <th>0</th>\n", " <td>000017.SZ</td>\n", " <td>SWHY310000</td>\n", " <td>申万交运设备</td>\n", " <td>1</td>\n", " <td>1992-03-31</td>\n", " <td>2011-10-10</td>\n", " <td>0</td>\n", " <td>SWHY</td>\n", " </tr>\n", " <tr>\n", " <th>1</th>\n", " <td>000017.SZ</td>\n", " <td>SWHY310300</td>\n", " <td>申万非汽车交运设备</td>\n", " <td>2</td>\n", " <td>1992-03-31</td>\n", " <td>2011-10-10</td>\n", " <td>0</td>\n", " <td>SWHY</td>\n", " </tr>\n", " <tr>\n", " <th>2</th>\n", " <td>000017.SZ</td>\n", " <td>SWHY310301</td>\n", " <td>申万摩托车</td>\n", " <td>3</td>\n", " <td>1992-03-31</td>\n", " <td>2011-10-10</td>\n", " <td>0</td>\n", " <td>SWHY</td>\n", " </tr>\n", " <tr>\n", " <th>3</th>\n", " <td>000017.SZ</td>\n", " <td>SWHY310000</td>\n", " <td>申万交运设备</td>\n", " <td>1</td>\n", " <td>2011-10-10</td>\n", " <td>2014-02-21</td>\n", " <td>0</td>\n", " <td>SWHY</td>\n", " </tr>\n", " <tr>\n", " <th>4</th>\n", " <td>000017.SZ</td>\n", " <td>SWHY310300</td>\n", " <td>申万非汽车交运设备</td>\n", " <td>2</td>\n", " <td>2011-10-10</td>\n", " <td>2014-02-21</td>\n", " <td>0</td>\n", " <td>SWHY</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", " </tr>\n", " <tr>\n", " <th>95</th>\n", " <td>000157.SZ</td>\n", " <td>SWHY260202</td>\n", " <td>申万工程机械</td>\n", " <td>3</td>\n", " <td>2000-10-12</td>\n", " <td>2014-02-21</td>\n", " <td>0</td>\n", " <td>SWHY</td>\n", " </tr>\n", " <tr>\n", " <th>96</th>\n", " <td>000157.SZ</td>\n", " <td>SWHY640000</td>\n", " <td>申万机械设备</td>\n", " <td>1</td>\n", " <td>2014-02-21</td>\n", " <td>2021-12-13</td>\n", " <td>0</td>\n", " <td>SWHY</td>\n", " </tr>\n", " <tr>\n", " <th>97</th>\n", " <td>000157.SZ</td>\n", " <td>SWHY640200</td>\n", " <td>申万专用设备</td>\n", " <td>2</td>\n", " <td>2014-02-21</td>\n", " <td>2021-12-13</td>\n", " <td>0</td>\n", " <td>SWHY</td>\n", " </tr>\n", " <tr>\n", " <th>98</th>\n", " <td>000157.SZ</td>\n", " <td>SWHY640201</td>\n", " <td>申万工程机械</td>\n", " <td>3</td>\n", " <td>2014-02-21</td>\n", " <td>2021-12-13</td>\n", " <td>0</td>\n", " <td>SWHY</td>\n", " </tr>\n", " <tr>\n", " <th>99</th>\n", " <td>000157.SZ</td>\n", " <td>SWHY640000</td>\n", " <td>申万机械设备</td>\n", " <td>1</td>\n", " <td>2021-12-13</td>\n", " <td>NaT</td>\n", " <td>1</td>\n", " <td>SWHY</td>\n", " </tr>\n", " </tbody>\n", "</table>\n", "<p>100 rows × 8 columns</p>\n", "</div>" ], "text/plain": [ " code industry_code industry_name industry_level enter_date \\\n", "0 000017.SZ SWHY310000 申万交运设备 1 1992-03-31 \n", "1 000017.SZ SWHY310300 申万非汽车交运设备 2 1992-03-31 \n", "2 000017.SZ SWHY310301 申万摩托车 3 1992-03-31 \n", "3 000017.SZ SWHY310000 申万交运设备 1 2011-10-10 \n", "4 000017.SZ SWHY310300 申万非汽车交运设备 2 2011-10-10 \n", ".. ... ... ... ... ... \n", "95 000157.SZ SWHY260202 申万工程机械 3 2000-10-12 \n", "96 000157.SZ SWHY640000 申万机械设备 1 2014-02-21 \n", "97 000157.SZ SWHY640200 申万专用设备 2 2014-02-21 \n", "98 000157.SZ SWHY640201 申万工程机械 3 2014-02-21 \n", "99 000157.SZ SWHY640000 申万机械设备 1 2021-12-13 \n", "\n", " exit_date is_new industry_class \n", "0 2011-10-10 0 SWHY \n", "1 2011-10-10 0 SWHY \n", "2 2011-10-10 0 SWHY \n", "3 2014-02-21 0 SWHY \n", "4 2014-02-21 0 SWHY \n", ".. ... ... ... \n", "95 2014-02-21 0 SWHY \n", "96 2021-12-13 0 SWHY \n", "97 2021-12-13 0 SWHY \n", "98 2021-12-13 0 SWHY \n", "99 NaT 1 SWHY \n", "\n", "[100 rows x 8 columns]" ] }, "execution_count": 37, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sess.run(\"\"\"\n", "tbl = loadTable(\"dfs://info_stock_ts\", 'info_industry');\n", "select top 100 * from tbl map;\n", "\"\"\")" ] }, { "cell_type": "code", "execution_count": null, "id": "16dd860d-049f-420e-8d04-d1f8969e5ed1", "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "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.8.13" } }, "nbformat": 4, "nbformat_minor": 5 }