Files

1338 lines
37 KiB
Plaintext

{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"# 配置迅投研数据服务\n",
"from vnpy.trader.setting import SETTINGS\n",
"\n",
"SETTINGS[\"datafeed.name\"] = \"xt\"\n",
"SETTINGS[\"datafeed.username\"] = \"token\"\n",
"SETTINGS[\"datafeed.password\"] = \"4aff6f3b0dcfc990ec9476213ba784e17c34e757\""
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [],
"source": [
"# 加载功能模块\n",
"from datetime import datetime\n",
"\n",
"from xtquant.xtdata import (\n",
" download_history_data,\n",
" get_stock_list_in_sector,\n",
" get_instrument_detail,\n",
" get_option_detail_data\n",
")\n",
"\n",
"from vnpy.trader.datafeed import get_datafeed\n",
"from vnpy.trader.object import ContractData, Exchange, Product, OptionType\n",
"\n",
"from elite_database import EliteDatabase"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"True"
]
},
"execution_count": 9,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# 初始化数据服务\n",
"datafeed = get_datafeed()\n",
"datafeed.init()"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {
"collapsed": true,
"jupyter": {
"outputs_hidden": true
},
"tags": []
},
"outputs": [
{
"data": {
"text/plain": [
"['ag1209.SF',\n",
" 'ag1210.SF',\n",
" 'ag1211.SF',\n",
" 'ag1212.SF',\n",
" 'ag1301.SF',\n",
" 'ag1302.SF',\n",
" 'ag1303.SF',\n",
" 'ag1304.SF',\n",
" 'ag1305.SF',\n",
" 'ag1306.SF',\n",
" 'ag1307.SF',\n",
" 'ag1308.SF',\n",
" 'ag1309.SF',\n",
" 'ag1310.SF',\n",
" 'ag1311.SF',\n",
" 'ag1312.SF',\n",
" 'ag1401.SF',\n",
" 'ag1402.SF',\n",
" 'ag1403.SF',\n",
" 'ag1404.SF',\n",
" 'ag1405.SF',\n",
" 'ag1406.SF',\n",
" 'ag1407.SF',\n",
" 'ag1408.SF',\n",
" 'ag1409.SF',\n",
" 'ag1410.SF',\n",
" 'ag1411.SF',\n",
" 'ag1412.SF',\n",
" 'ag1501.SF',\n",
" 'ag1502.SF',\n",
" 'ag1503.SF',\n",
" 'ag1504.SF',\n",
" 'ag1505.SF',\n",
" 'ag1506.SF',\n",
" 'ag1507.SF',\n",
" 'ag1508.SF',\n",
" 'ag1509.SF',\n",
" 'ag1510.SF',\n",
" 'ag1511.SF',\n",
" 'ag1512.SF',\n",
" 'ag1601.SF',\n",
" 'ag1602.SF',\n",
" 'ag1603.SF',\n",
" 'ag1604.SF',\n",
" 'ag1605.SF',\n",
" 'ag1606.SF',\n",
" 'ag1607.SF',\n",
" 'ag1608.SF',\n",
" 'ag1609.SF',\n",
" 'ag1610.SF',\n",
" 'ag1611.SF',\n",
" 'ag1612.SF',\n",
" 'ag1701.SF',\n",
" 'ag1702.SF',\n",
" 'ag1703.SF',\n",
" 'ag1704.SF',\n",
" 'ag1705.SF',\n",
" 'ag1706.SF',\n",
" 'ag1707.SF',\n",
" 'ag1708.SF',\n",
" 'ag1709.SF',\n",
" 'ag1710.SF',\n",
" 'ag1711.SF',\n",
" 'ag1712.SF',\n",
" 'ag1801.SF',\n",
" 'ag1802.SF',\n",
" 'ag1803.SF',\n",
" 'ag1804.SF',\n",
" 'ag1805.SF',\n",
" 'ag1806.SF',\n",
" 'ag1807.SF',\n",
" 'ag1808.SF',\n",
" 'ag1809.SF',\n",
" 'ag1810.SF',\n",
" 'ag1811.SF',\n",
" 'ag1812.SF',\n",
" 'ag1901.SF',\n",
" 'ag1902.SF',\n",
" 'ag1903.SF',\n",
" 'ag1904.SF',\n",
" 'ag1905.SF',\n",
" 'ag1906.SF',\n",
" 'ag1907.SF',\n",
" 'ag1908.SF',\n",
" 'ag1909.SF',\n",
" 'ag1910.SF',\n",
" 'ag1911.SF',\n",
" 'ag1912.SF',\n",
" 'ag2001.SF',\n",
" 'ag2002.SF',\n",
" 'ag2003.SF',\n",
" 'ag2004.SF',\n",
" 'ag2005.SF',\n",
" 'ag2006.SF',\n",
" 'ag2007.SF',\n",
" 'ag2008.SF',\n",
" 'ag2009.SF',\n",
" 'ag2010.SF',\n",
" 'ag2011.SF',\n",
" 'ag2012.SF',\n",
" 'ag2101.SF',\n",
" 'ag2102.SF',\n",
" 'ag2103.SF',\n",
" 'ag2104.SF',\n",
" 'ag2105.SF',\n",
" 'ag2106.SF',\n",
" 'ag2107.SF',\n",
" 'ag2108.SF',\n",
" 'ag2109.SF',\n",
" 'ag2110.SF',\n",
" 'ag2111.SF',\n",
" 'ag2112.SF',\n",
" 'ag2201.SF',\n",
" 'ag2202.SF',\n",
" 'ag2203.SF',\n",
" 'ag2204.SF',\n",
" 'ag2205.SF',\n",
" 'ag2206.SF',\n",
" 'ag2207.SF',\n",
" 'ag2208.SF',\n",
" 'ag2209.SF',\n",
" 'ag2210.SF',\n",
" 'ag2211.SF',\n",
" 'ag2212.SF',\n",
" 'ag2301.SF',\n",
" 'ag2302.SF',\n",
" 'ag2303.SF',\n",
" 'ag2303C4100.SF',\n",
" 'ag2303C4150.SF',\n",
" 'ag2303C4200.SF',\n",
" 'ag2303C4250.SF',\n",
" 'ag2303C4300.SF',\n",
" 'ag2303C4350.SF',\n",
" 'ag2303C4400.SF',\n",
" 'ag2303C4450.SF',\n",
" 'ag2303C4500.SF',\n",
" 'ag2303C4550.SF',\n",
" 'ag2303C4600.SF',\n",
" 'ag2303C4650.SF',\n",
" 'ag2303C4700.SF',\n",
" 'ag2303C4750.SF',\n",
" 'ag2303C4800.SF',\n",
" 'ag2303C4850.SF',\n",
" 'ag2303C4900.SF',\n",
" 'ag2303C4950.SF',\n",
" 'ag2303C5000.SF',\n",
" 'ag2303C5100.SF',\n",
" 'ag2303C5200.SF',\n",
" 'ag2303C5300.SF',\n",
" 'ag2303C5400.SF',\n",
" 'ag2303C5500.SF',\n",
" 'ag2303C5600.SF',\n",
" 'ag2303C5700.SF',\n",
" 'ag2303C5800.SF',\n",
" 'ag2303C5900.SF',\n",
" 'ag2303C6000.SF',\n",
" 'ag2303C6100.SF',\n",
" 'ag2303C6200.SF',\n",
" 'ag2303P4100.SF',\n",
" 'ag2303P4150.SF',\n",
" 'ag2303P4200.SF',\n",
" 'ag2303P4250.SF',\n",
" 'ag2303P4300.SF',\n",
" 'ag2303P4350.SF',\n",
" 'ag2303P4400.SF',\n",
" 'ag2303P4450.SF',\n",
" 'ag2303P4500.SF',\n",
" 'ag2303P4550.SF',\n",
" 'ag2303P4600.SF',\n",
" 'ag2303P4650.SF',\n",
" 'ag2303P4700.SF',\n",
" 'ag2303P4750.SF',\n",
" 'ag2303P4800.SF',\n",
" 'ag2303P4850.SF',\n",
" 'ag2303P4900.SF',\n",
" 'ag2303P4950.SF',\n",
" 'ag2303P5000.SF',\n",
" 'ag2303P5100.SF',\n",
" 'ag2303P5200.SF',\n",
" 'ag2303P5300.SF',\n",
" 'ag2303P5400.SF',\n",
" 'ag2303P5500.SF',\n",
" 'ag2303P5600.SF',\n",
" 'ag2303P5700.SF',\n",
" 'ag2303P5800.SF',\n",
" 'ag2303P5900.SF',\n",
" 'ag2303P6000.SF',\n",
" 'ag2303P6100.SF',\n",
" 'ag2303P6200.SF',\n",
" 'ag2304.SF',\n",
" 'ag2304C4050.SF',\n",
" 'ag2304C4100.SF',\n",
" 'ag2304C4150.SF',\n",
" 'ag2304C4200.SF',\n",
" 'ag2304C4250.SF',\n",
" 'ag2304C4300.SF',\n",
" 'ag2304C4350.SF',\n",
" 'ag2304C4400.SF',\n",
" 'ag2304C4450.SF',\n",
" 'ag2304C4500.SF',\n",
" 'ag2304C4550.SF',\n",
" 'ag2304C4600.SF',\n",
" 'ag2304C4650.SF',\n",
" 'ag2304C4700.SF',\n",
" 'ag2304C4750.SF',\n",
" 'ag2304C4800.SF',\n",
" 'ag2304C4850.SF',\n",
" 'ag2304C4900.SF',\n",
" 'ag2304C4950.SF',\n",
" 'ag2304C5000.SF',\n",
" 'ag2304C5100.SF',\n",
" 'ag2304C5200.SF',\n",
" 'ag2304C5300.SF',\n",
" 'ag2304C5400.SF',\n",
" 'ag2304C5500.SF',\n",
" 'ag2304C5600.SF',\n",
" 'ag2304C5700.SF',\n",
" 'ag2304C5800.SF',\n",
" 'ag2304C5900.SF',\n",
" 'ag2304C6000.SF',\n",
" 'ag2304C6100.SF',\n",
" 'ag2304C6200.SF',\n",
" 'ag2304P4050.SF',\n",
" 'ag2304P4100.SF',\n",
" 'ag2304P4150.SF',\n",
" 'ag2304P4200.SF',\n",
" 'ag2304P4250.SF',\n",
" 'ag2304P4300.SF',\n",
" 'ag2304P4350.SF',\n",
" 'ag2304P4400.SF',\n",
" 'ag2304P4450.SF',\n",
" 'ag2304P4500.SF',\n",
" 'ag2304P4550.SF',\n",
" 'ag2304P4600.SF',\n",
" 'ag2304P4650.SF',\n",
" 'ag2304P4700.SF',\n",
" 'ag2304P4750.SF',\n",
" 'ag2304P4800.SF',\n",
" 'ag2304P4850.SF',\n",
" 'ag2304P4900.SF',\n",
" 'ag2304P4950.SF',\n",
" 'ag2304P5000.SF',\n",
" 'ag2304P5100.SF',\n",
" 'ag2304P5200.SF',\n",
" 'ag2304P5300.SF',\n",
" 'ag2304P5400.SF',\n",
" 'ag2304P5500.SF',\n",
" 'ag2304P5600.SF',\n",
" 'ag2304P5700.SF',\n",
" 'ag2304P5800.SF',\n",
" 'ag2304P5900.SF',\n",
" 'ag2304P6000.SF',\n",
" 'ag2304P6100.SF',\n",
" 'ag2304P6200.SF',\n",
" 'ag2305.SF',\n",
" 'ag2305C4050.SF',\n",
" 'ag2305C4100.SF',\n",
" 'ag2305C4150.SF',\n",
" 'ag2305C4200.SF',\n",
" 'ag2305C4250.SF',\n",
" 'ag2305C4300.SF',\n",
" 'ag2305C4350.SF',\n",
" 'ag2305C4400.SF',\n",
" 'ag2305C4450.SF',\n",
" 'ag2305C4500.SF',\n",
" 'ag2305C4550.SF',\n",
" 'ag2305C4600.SF',\n",
" 'ag2305C4650.SF',\n",
" 'ag2305C4700.SF',\n",
" 'ag2305C4750.SF',\n",
" 'ag2305C4800.SF',\n",
" 'ag2305C4850.SF',\n",
" 'ag2305C4900.SF',\n",
" 'ag2305C4950.SF',\n",
" 'ag2305C5000.SF',\n",
" 'ag2305C5100.SF',\n",
" 'ag2305C5200.SF',\n",
" 'ag2305C5300.SF',\n",
" 'ag2305C5400.SF',\n",
" 'ag2305C5500.SF',\n",
" 'ag2305C5600.SF',\n",
" 'ag2305C5700.SF',\n",
" 'ag2305C5800.SF',\n",
" 'ag2305C5900.SF',\n",
" 'ag2305C6000.SF',\n",
" 'ag2305C6100.SF',\n",
" 'ag2305C6200.SF',\n",
" 'ag2305C6300.SF',\n",
" 'ag2305C6400.SF',\n",
" 'ag2305C6500.SF',\n",
" 'ag2305C6600.SF',\n",
" 'ag2305P4050.SF',\n",
" 'ag2305P4100.SF',\n",
" 'ag2305P4150.SF',\n",
" 'ag2305P4200.SF',\n",
" 'ag2305P4250.SF',\n",
" 'ag2305P4300.SF',\n",
" 'ag2305P4350.SF',\n",
" 'ag2305P4400.SF',\n",
" 'ag2305P4450.SF',\n",
" 'ag2305P4500.SF',\n",
" 'ag2305P4550.SF',\n",
" 'ag2305P4600.SF',\n",
" 'ag2305P4650.SF',\n",
" 'ag2305P4700.SF',\n",
" 'ag2305P4750.SF',\n",
" 'ag2305P4800.SF',\n",
" 'ag2305P4850.SF',\n",
" 'ag2305P4900.SF',\n",
" 'ag2305P4950.SF',\n",
" 'ag2305P5000.SF',\n",
" 'ag2305P5100.SF',\n",
" 'ag2305P5200.SF',\n",
" 'ag2305P5300.SF',\n",
" 'ag2305P5400.SF',\n",
" 'ag2305P5500.SF',\n",
" 'ag2305P5600.SF',\n",
" 'ag2305P5700.SF',\n",
" 'ag2305P5800.SF',\n",
" 'ag2305P5900.SF',\n",
" 'ag2305P6000.SF',\n",
" 'ag2305P6100.SF',\n",
" 'ag2305P6200.SF',\n",
" 'ag2305P6300.SF',\n",
" 'ag2305P6400.SF',\n",
" 'ag2305P6500.SF',\n",
" 'ag2305P6600.SF',\n",
" 'ag2306.SF',\n",
" 'ag2306C4050.SF',\n",
" 'ag2306C4100.SF',\n",
" 'ag2306C4150.SF',\n",
" 'ag2306C4200.SF',\n",
" 'ag2306C4250.SF',\n",
" 'ag2306C4300.SF',\n",
" 'ag2306C4350.SF',\n",
" 'ag2306C4400.SF',\n",
" 'ag2306C4450.SF',\n",
" 'ag2306C4500.SF',\n",
" 'ag2306C4550.SF',\n",
" 'ag2306C4600.SF',\n",
" 'ag2306C4650.SF',\n",
" 'ag2306C4700.SF',\n",
" 'ag2306C4750.SF',\n",
" 'ag2306C4800.SF',\n",
" 'ag2306C4850.SF',\n",
" 'ag2306C4900.SF',\n",
" 'ag2306C4950.SF',\n",
" 'ag2306C5000.SF',\n",
" 'ag2306C5100.SF',\n",
" 'ag2306C5200.SF',\n",
" 'ag2306C5300.SF',\n",
" 'ag2306C5400.SF',\n",
" 'ag2306C5500.SF',\n",
" 'ag2306C5600.SF',\n",
" 'ag2306C5700.SF',\n",
" 'ag2306C5800.SF',\n",
" 'ag2306C5900.SF',\n",
" 'ag2306C6000.SF',\n",
" 'ag2306C6100.SF',\n",
" 'ag2306C6200.SF',\n",
" 'ag2306C6300.SF',\n",
" 'ag2306C6400.SF',\n",
" 'ag2306C6500.SF',\n",
" 'ag2306C6600.SF',\n",
" 'ag2306C6700.SF',\n",
" 'ag2306P4050.SF',\n",
" 'ag2306P4100.SF',\n",
" 'ag2306P4150.SF',\n",
" 'ag2306P4200.SF',\n",
" 'ag2306P4250.SF',\n",
" 'ag2306P4300.SF',\n",
" 'ag2306P4350.SF',\n",
" 'ag2306P4400.SF',\n",
" 'ag2306P4450.SF',\n",
" 'ag2306P4500.SF',\n",
" 'ag2306P4550.SF',\n",
" 'ag2306P4600.SF',\n",
" 'ag2306P4650.SF',\n",
" 'ag2306P4700.SF',\n",
" 'ag2306P4750.SF',\n",
" 'ag2306P4800.SF',\n",
" 'ag2306P4850.SF',\n",
" 'ag2306P4900.SF',\n",
" 'ag2306P4950.SF',\n",
" 'ag2306P5000.SF',\n",
" 'ag2306P5100.SF',\n",
" 'ag2306P5200.SF',\n",
" 'ag2306P5300.SF',\n",
" 'ag2306P5400.SF',\n",
" 'ag2306P5500.SF',\n",
" 'ag2306P5600.SF',\n",
" 'ag2306P5700.SF',\n",
" 'ag2306P5800.SF',\n",
" 'ag2306P5900.SF',\n",
" 'ag2306P6000.SF',\n",
" 'ag2306P6100.SF',\n",
" 'ag2306P6200.SF',\n",
" 'ag2306P6300.SF',\n",
" 'ag2306P6400.SF',\n",
" 'ag2306P6500.SF',\n",
" 'ag2306P6600.SF',\n",
" 'ag2306P6700.SF',\n",
" 'ag2307.SF',\n",
" 'ag2307C4050.SF',\n",
" 'ag2307C4100.SF',\n",
" 'ag2307C4150.SF',\n",
" 'ag2307C4200.SF',\n",
" 'ag2307C4250.SF',\n",
" 'ag2307C4300.SF',\n",
" 'ag2307C4350.SF',\n",
" 'ag2307C4400.SF',\n",
" 'ag2307C4450.SF',\n",
" 'ag2307C4500.SF',\n",
" 'ag2307C4550.SF',\n",
" 'ag2307C4600.SF',\n",
" 'ag2307C4650.SF',\n",
" 'ag2307C4700.SF',\n",
" 'ag2307C4750.SF',\n",
" 'ag2307C4800.SF',\n",
" 'ag2307C4850.SF',\n",
" 'ag2307C4900.SF',\n",
" 'ag2307C4950.SF',\n",
" 'ag2307C5000.SF',\n",
" 'ag2307C5100.SF',\n",
" 'ag2307C5200.SF',\n",
" 'ag2307C5300.SF',\n",
" 'ag2307C5400.SF',\n",
" 'ag2307C5500.SF',\n",
" 'ag2307C5600.SF',\n",
" 'ag2307C5700.SF',\n",
" 'ag2307C5800.SF',\n",
" 'ag2307C5900.SF',\n",
" 'ag2307C6000.SF',\n",
" 'ag2307C6100.SF',\n",
" 'ag2307C6200.SF',\n",
" 'ag2307C6300.SF',\n",
" 'ag2307C6400.SF',\n",
" 'ag2307C6500.SF',\n",
" 'ag2307C6600.SF',\n",
" 'ag2307C6700.SF',\n",
" 'ag2307P4050.SF',\n",
" 'ag2307P4100.SF',\n",
" 'ag2307P4150.SF',\n",
" 'ag2307P4200.SF',\n",
" 'ag2307P4250.SF',\n",
" 'ag2307P4300.SF',\n",
" 'ag2307P4350.SF',\n",
" 'ag2307P4400.SF',\n",
" 'ag2307P4450.SF',\n",
" 'ag2307P4500.SF',\n",
" 'ag2307P4550.SF',\n",
" 'ag2307P4600.SF',\n",
" 'ag2307P4650.SF',\n",
" 'ag2307P4700.SF',\n",
" 'ag2307P4750.SF',\n",
" 'ag2307P4800.SF',\n",
" 'ag2307P4850.SF',\n",
" 'ag2307P4900.SF',\n",
" 'ag2307P4950.SF',\n",
" 'ag2307P5000.SF',\n",
" 'ag2307P5100.SF',\n",
" 'ag2307P5200.SF',\n",
" 'ag2307P5300.SF',\n",
" 'ag2307P5400.SF',\n",
" 'ag2307P5500.SF',\n",
" 'ag2307P5600.SF',\n",
" 'ag2307P5700.SF',\n",
" 'ag2307P5800.SF',\n",
" 'ag2307P5900.SF',\n",
" 'ag2307P6000.SF',\n",
" 'ag2307P6100.SF',\n",
" 'ag2307P6200.SF',\n",
" 'ag2307P6300.SF',\n",
" 'ag2307P6400.SF',\n",
" 'ag2307P6500.SF',\n",
" 'ag2307P6600.SF',\n",
" 'ag2307P6700.SF',\n",
" 'ag2308.SF',\n",
" 'ag2308C4050.SF',\n",
" 'ag2308C4100.SF',\n",
" 'ag2308C4150.SF',\n",
" 'ag2308C4200.SF',\n",
" 'ag2308C4250.SF',\n",
" 'ag2308C4300.SF',\n",
" 'ag2308C4350.SF',\n",
" 'ag2308C4400.SF',\n",
" 'ag2308C4450.SF',\n",
" 'ag2308C4500.SF',\n",
" 'ag2308C4550.SF',\n",
" 'ag2308C4600.SF',\n",
" 'ag2308C4650.SF',\n",
" 'ag2308C4700.SF',\n",
" 'ag2308C4750.SF',\n",
" 'ag2308C4800.SF',\n",
" 'ag2308C4850.SF',\n",
" 'ag2308C4900.SF',\n",
" 'ag2308C4950.SF',\n",
" 'ag2308C5000.SF',\n",
" 'ag2308C5100.SF',\n",
" 'ag2308C5200.SF',\n",
" 'ag2308C5300.SF',\n",
" 'ag2308C5400.SF',\n",
" 'ag2308C5500.SF',\n",
" 'ag2308C5600.SF',\n",
" 'ag2308C5700.SF',\n",
" 'ag2308C5800.SF',\n",
" 'ag2308C5900.SF',\n",
" 'ag2308C6000.SF',\n",
" 'ag2308C6100.SF',\n",
" 'ag2308C6200.SF',\n",
" 'ag2308C6300.SF',\n",
" 'ag2308C6400.SF',\n",
" 'ag2308C6500.SF',\n",
" 'ag2308C6600.SF',\n",
" 'ag2308C6700.SF',\n",
" 'ag2308P4050.SF',\n",
" 'ag2308P4100.SF',\n",
" 'ag2308P4150.SF',\n",
" 'ag2308P4200.SF',\n",
" 'ag2308P4250.SF',\n",
" 'ag2308P4300.SF',\n",
" 'ag2308P4350.SF',\n",
" 'ag2308P4400.SF',\n",
" 'ag2308P4450.SF',\n",
" 'ag2308P4500.SF',\n",
" 'ag2308P4550.SF',\n",
" 'ag2308P4600.SF',\n",
" 'ag2308P4650.SF',\n",
" 'ag2308P4700.SF',\n",
" 'ag2308P4750.SF',\n",
" 'ag2308P4800.SF',\n",
" 'ag2308P4850.SF',\n",
" 'ag2308P4900.SF',\n",
" 'ag2308P4950.SF',\n",
" 'ag2308P5000.SF',\n",
" 'ag2308P5100.SF',\n",
" 'ag2308P5200.SF',\n",
" 'ag2308P5300.SF',\n",
" 'ag2308P5400.SF',\n",
" 'ag2308P5500.SF',\n",
" 'ag2308P5600.SF',\n",
" 'ag2308P5700.SF',\n",
" 'ag2308P5800.SF',\n",
" 'ag2308P5900.SF',\n",
" 'ag2308P6000.SF',\n",
" 'ag2308P6100.SF',\n",
" 'ag2308P6200.SF',\n",
" 'ag2308P6300.SF',\n",
" 'ag2308P6400.SF',\n",
" 'ag2308P6500.SF',\n",
" 'ag2308P6600.SF',\n",
" 'ag2308P6700.SF',\n",
" 'ag2309.SF',\n",
" 'ag2309C4050.SF',\n",
" 'ag2309C4100.SF',\n",
" 'ag2309C4150.SF',\n",
" 'ag2309C4200.SF',\n",
" 'ag2309C4250.SF',\n",
" 'ag2309C4300.SF',\n",
" 'ag2309C4350.SF',\n",
" 'ag2309C4400.SF',\n",
" 'ag2309C4450.SF',\n",
" 'ag2309C4500.SF',\n",
" 'ag2309C4550.SF',\n",
" 'ag2309C4600.SF',\n",
" 'ag2309C4650.SF',\n",
" 'ag2309C4700.SF',\n",
" 'ag2309C4750.SF',\n",
" 'ag2309C4800.SF',\n",
" 'ag2309C4850.SF',\n",
" 'ag2309C4900.SF',\n",
" 'ag2309C4950.SF',\n",
" 'ag2309C5000.SF',\n",
" 'ag2309C5100.SF',\n",
" 'ag2309C5200.SF',\n",
" 'ag2309C5300.SF',\n",
" 'ag2309C5400.SF',\n",
" 'ag2309C5500.SF',\n",
" 'ag2309C5600.SF',\n",
" 'ag2309C5700.SF',\n",
" 'ag2309C5800.SF',\n",
" 'ag2309C5900.SF',\n",
" 'ag2309C6000.SF',\n",
" 'ag2309C6100.SF',\n",
" 'ag2309C6200.SF',\n",
" 'ag2309C6300.SF',\n",
" 'ag2309C6400.SF',\n",
" 'ag2309C6500.SF',\n",
" 'ag2309C6600.SF',\n",
" 'ag2309C6700.SF',\n",
" 'ag2309P4050.SF',\n",
" 'ag2309P4100.SF',\n",
" 'ag2309P4150.SF',\n",
" 'ag2309P4200.SF',\n",
" 'ag2309P4250.SF',\n",
" 'ag2309P4300.SF',\n",
" 'ag2309P4350.SF',\n",
" 'ag2309P4400.SF',\n",
" 'ag2309P4450.SF',\n",
" 'ag2309P4500.SF',\n",
" 'ag2309P4550.SF',\n",
" 'ag2309P4600.SF',\n",
" 'ag2309P4650.SF',\n",
" 'ag2309P4700.SF',\n",
" 'ag2309P4750.SF',\n",
" 'ag2309P4800.SF',\n",
" 'ag2309P4850.SF',\n",
" 'ag2309P4900.SF',\n",
" 'ag2309P4950.SF',\n",
" 'ag2309P5000.SF',\n",
" 'ag2309P5100.SF',\n",
" 'ag2309P5200.SF',\n",
" 'ag2309P5300.SF',\n",
" 'ag2309P5400.SF',\n",
" 'ag2309P5500.SF',\n",
" 'ag2309P5600.SF',\n",
" 'ag2309P5700.SF',\n",
" 'ag2309P5800.SF',\n",
" 'ag2309P5900.SF',\n",
" 'ag2309P6000.SF',\n",
" 'ag2309P6100.SF',\n",
" 'ag2309P6200.SF',\n",
" 'ag2309P6300.SF',\n",
" 'ag2309P6400.SF',\n",
" 'ag2309P6500.SF',\n",
" 'ag2309P6600.SF',\n",
" 'ag2309P6700.SF',\n",
" 'ag2310.SF',\n",
" 'ag2310C4600.SF',\n",
" 'ag2310C4650.SF',\n",
" 'ag2310C4700.SF',\n",
" 'ag2310C4750.SF',\n",
" 'ag2310C4800.SF',\n",
" 'ag2310C4850.SF',\n",
" 'ag2310C4900.SF',\n",
" 'ag2310C4950.SF',\n",
" 'ag2310C5000.SF',\n",
" 'ag2310C5100.SF',\n",
" 'ag2310C5200.SF',\n",
" 'ag2310C5300.SF',\n",
" 'ag2310C5400.SF',\n",
" 'ag2310C5500.SF',\n",
" 'ag2310C5600.SF',\n",
" 'ag2310C5700.SF',\n",
" 'ag2310C5800.SF',\n",
" 'ag2310C5900.SF',\n",
" 'ag2310C6000.SF',\n",
" 'ag2310C6100.SF',\n",
" 'ag2310C6200.SF',\n",
" 'ag2310C6300.SF',\n",
" 'ag2310C6400.SF',\n",
" 'ag2310C6500.SF',\n",
" 'ag2310C6600.SF',\n",
" 'ag2310P4600.SF',\n",
" 'ag2310P4650.SF',\n",
" 'ag2310P4700.SF',\n",
" 'ag2310P4750.SF',\n",
" 'ag2310P4800.SF',\n",
" 'ag2310P4850.SF',\n",
" 'ag2310P4900.SF',\n",
" 'ag2310P4950.SF',\n",
" 'ag2310P5000.SF',\n",
" 'ag2310P5100.SF',\n",
" 'ag2310P5200.SF',\n",
" 'ag2310P5300.SF',\n",
" 'ag2310P5400.SF',\n",
" 'ag2310P5500.SF',\n",
" 'ag2310P5600.SF',\n",
" 'ag2310P5700.SF',\n",
" 'ag2310P5800.SF',\n",
" 'ag2310P5900.SF',\n",
" 'ag2310P6000.SF',\n",
" 'ag2310P6100.SF',\n",
" 'ag2310P6200.SF',\n",
" 'ag2310P6300.SF',\n",
" 'ag2310P6400.SF',\n",
" 'ag2310P6500.SF',\n",
" 'ag2310P6600.SF',\n",
" 'ag2311.SF',\n",
" 'ag2311C5000.SF',\n",
" 'ag2311C5100.SF',\n",
" 'ag2311C5200.SF',\n",
" 'ag2311C5300.SF',\n",
" 'ag2311C5400.SF',\n",
" 'ag2311C5500.SF',\n",
" 'ag2311C5600.SF',\n",
" 'ag2311C5700.SF',\n",
" 'ag2311C5800.SF',\n",
" 'ag2311C5900.SF',\n",
" 'ag2311C6000.SF',\n",
" 'ag2311C6100.SF',\n",
" 'ag2311C6200.SF',\n",
" 'ag2311C6300.SF',\n",
" 'ag2311C6400.SF',\n",
" 'ag2311C6500.SF',\n",
" 'ag2311C6600.SF',\n",
" 'ag2311C6700.SF',\n",
" 'ag2311P5000.SF',\n",
" 'ag2311P5100.SF',\n",
" 'ag2311P5200.SF',\n",
" 'ag2311P5300.SF',\n",
" 'ag2311P5400.SF',\n",
" 'ag2311P5500.SF',\n",
" 'ag2311P5600.SF',\n",
" 'ag2311P5700.SF',\n",
" 'ag2311P5800.SF',\n",
" 'ag2311P5900.SF',\n",
" 'ag2311P6000.SF',\n",
" 'ag2311P6100.SF',\n",
" 'ag2311P6200.SF',\n",
" 'ag2311P6300.SF',\n",
" 'ag2311P6400.SF',\n",
" 'ag2311P6500.SF',\n",
" 'ag2311P6600.SF',\n",
" 'ag2311P6700.SF',\n",
" 'ag2312.SF',\n",
" 'ag2312C4100.SF',\n",
" 'ag2312C4150.SF',\n",
" 'ag2312C4200.SF',\n",
" 'ag2312C4250.SF',\n",
" 'ag2312C4300.SF',\n",
" 'ag2312C4350.SF',\n",
" 'ag2312C4400.SF',\n",
" 'ag2312C4450.SF',\n",
" 'ag2312C4500.SF',\n",
" 'ag2312C4550.SF',\n",
" 'ag2312C4600.SF',\n",
" 'ag2312C4650.SF',\n",
" 'ag2312C4700.SF',\n",
" 'ag2312C4750.SF',\n",
" 'ag2312C4800.SF',\n",
" 'ag2312C4850.SF',\n",
" 'ag2312C4900.SF',\n",
" 'ag2312C4950.SF',\n",
" 'ag2312C5000.SF',\n",
" 'ag2312C5100.SF',\n",
" 'ag2312C5200.SF',\n",
" 'ag2312C5300.SF',\n",
" 'ag2312C5400.SF',\n",
" 'ag2312C5500.SF',\n",
" 'ag2312C5600.SF',\n",
" 'ag2312C5700.SF',\n",
" 'ag2312C5800.SF',\n",
" 'ag2312C5900.SF',\n",
" 'ag2312C6000.SF',\n",
" 'ag2312C6100.SF',\n",
" 'ag2312C6200.SF',\n",
" 'ag2312C6300.SF',\n",
" 'ag2312C6400.SF',\n",
" 'ag2312C6500.SF',\n",
" 'ag2312C6600.SF',\n",
" 'ag2312C6700.SF',\n",
" 'ag2312P4100.SF',\n",
" 'ag2312P4150.SF',\n",
" 'ag2312P4200.SF',\n",
" 'ag2312P4250.SF',\n",
" 'ag2312P4300.SF',\n",
" 'ag2312P4350.SF',\n",
" 'ag2312P4400.SF',\n",
" 'ag2312P4450.SF',\n",
" 'ag2312P4500.SF',\n",
" 'ag2312P4550.SF',\n",
" 'ag2312P4600.SF',\n",
" 'ag2312P4650.SF',\n",
" 'ag2312P4700.SF',\n",
" 'ag2312P4750.SF',\n",
" 'ag2312P4800.SF',\n",
" 'ag2312P4850.SF',\n",
" 'ag2312P4900.SF',\n",
" 'ag2312P4950.SF',\n",
" 'ag2312P5000.SF',\n",
" 'ag2312P5100.SF',\n",
" 'ag2312P5200.SF',\n",
" 'ag2312P5300.SF',\n",
" 'ag2312P5400.SF',\n",
" 'ag2312P5500.SF',\n",
" 'ag2312P5600.SF',\n",
" 'ag2312P5700.SF',\n",
" 'ag2312P5800.SF',\n",
" 'ag2312P5900.SF',\n",
" 'ag2312P6000.SF',\n",
" 'ag2312P6100.SF',\n",
" 'ag2312P6200.SF',\n",
" 'ag2312P6300.SF',\n",
" 'ag2312P6400.SF',\n",
" 'ag2312P6500.SF',\n",
" 'ag2312P6600.SF',\n",
" 'ag2312P6700.SF',\n",
" 'ag2401.SF',\n",
" 'ag2401C4700.SF',\n",
" 'ag2401C4750.SF',\n",
" 'ag2401C4800.SF',\n",
" 'ag2401C4850.SF',\n",
" 'ag2401C4900.SF',\n",
" 'ag2401C4950.SF',\n",
" 'ag2401C5000.SF',\n",
" 'ag2401C5100.SF',\n",
" 'ag2401C5200.SF',\n",
" 'ag2401C5300.SF',\n",
" 'ag2401C5400.SF',\n",
" 'ag2401C5500.SF',\n",
" 'ag2401C5600.SF',\n",
" 'ag2401C5700.SF',\n",
" 'ag2401C5800.SF',\n",
" 'ag2401C5900.SF',\n",
" 'ag2401C6000.SF',\n",
" 'ag2401C6100.SF',\n",
" 'ag2401C6200.SF',\n",
" 'ag2401C6300.SF',\n",
" 'ag2401C6400.SF',\n",
" 'ag2401C6500.SF',\n",
" 'ag2401C6600.SF',\n",
" 'ag2401C6700.SF',\n",
" 'ag2401C6800.SF',\n",
" 'ag2401C6900.SF',\n",
" 'ag2401P4700.SF',\n",
" 'ag2401P4750.SF',\n",
" 'ag2401P4800.SF',\n",
" 'ag2401P4850.SF',\n",
" 'ag2401P4900.SF',\n",
" 'ag2401P4950.SF',\n",
" 'ag2401P5000.SF',\n",
" 'ag2401P5100.SF',\n",
" 'ag2401P5200.SF',\n",
" 'ag2401P5300.SF',\n",
" 'ag2401P5400.SF',\n",
" 'ag2401P5500.SF',\n",
" 'ag2401P5600.SF',\n",
" 'ag2401P5700.SF',\n",
" 'ag2401P5800.SF',\n",
" 'ag2401P5900.SF',\n",
" 'ag2401P6000.SF',\n",
" 'ag2401P6100.SF',\n",
" 'ag2401P6200.SF',\n",
" 'ag2401P6300.SF',\n",
" 'ag2401P6400.SF',\n",
" 'ag2401P6500.SF',\n",
" 'ag2401P6600.SF',\n",
" 'ag2401P6700.SF',\n",
" 'ag2401P6800.SF',\n",
" 'ag2401P6900.SF',\n",
" 'ag2402.SF',\n",
" 'ag2402C5000.SF',\n",
" 'ag2402C5100.SF',\n",
" 'ag2402C5200.SF',\n",
" 'ag2402C5300.SF',\n",
" 'ag2402C5400.SF',\n",
" 'ag2402C5500.SF',\n",
" 'ag2402C5600.SF',\n",
" 'ag2402C5700.SF',\n",
" 'ag2402C5800.SF',\n",
" 'ag2402C5900.SF',\n",
" 'ag2402C6000.SF',\n",
" 'ag2402C6100.SF',\n",
" 'ag2402C6200.SF',\n",
" 'ag2402C6300.SF',\n",
" 'ag2402C6400.SF',\n",
" 'ag2402C6500.SF',\n",
" 'ag2402C6600.SF',\n",
" 'ag2402C6700.SF',\n",
" 'ag2402C6800.SF',\n",
" 'ag2402C6900.SF',\n",
" 'ag2402P5000.SF',\n",
" 'ag2402P5100.SF',\n",
" 'ag2402P5200.SF',\n",
" 'ag2402P5300.SF',\n",
" 'ag2402P5400.SF',\n",
" 'ag2402P5500.SF',\n",
" 'ag2402P5600.SF',\n",
" 'ag2402P5700.SF',\n",
" 'ag2402P5800.SF',\n",
" 'ag2402P5900.SF',\n",
" 'ag2402P6000.SF',\n",
" 'ag2402P6100.SF',\n",
" 'ag2402P6200.SF',\n",
" 'ag2402P6300.SF',\n",
" 'ag2402P6400.SF',\n",
" 'ag2402P6500.SF',\n",
" 'ag2402P6600.SF',\n",
" 'ag2402P6700.SF',\n",
" 'ag2402P6800.SF',\n",
" 'ag2402P6900.SF',\n",
" 'ag2403C5000.SF',\n",
" 'ag2403C5100.SF',\n",
" 'ag2403C5200.SF',\n",
" 'ag2403C5300.SF',\n",
" 'ag2403C5400.SF',\n",
" 'ag2403C5500.SF',\n",
" 'ag2403C5600.SF',\n",
" 'ag2403C5700.SF',\n",
" 'ag2403C5800.SF',\n",
" 'ag2403C5900.SF',\n",
" 'ag2403C6000.SF',\n",
" 'ag2403C6100.SF',\n",
" 'ag2403C6200.SF',\n",
" 'ag2403C6300.SF',\n",
" 'ag2403C6400.SF',\n",
" 'ag2403C6500.SF',\n",
" 'ag2403C6600.SF',\n",
" 'ag2403C6700.SF',\n",
" 'ag2403C6800.SF',\n",
" 'ag2403C6900.SF',\n",
" 'ag2403P5000.SF',\n",
" 'ag2403P5100.SF',\n",
" 'ag2403P5200.SF',\n",
" 'ag2403P5300.SF',\n",
" 'ag2403P5400.SF',\n",
" 'ag2403P5500.SF',\n",
" 'ag2403P5600.SF',\n",
" 'ag2403P5700.SF',\n",
" 'ag2403P5800.SF',\n",
" 'ag2403P5900.SF',\n",
" 'ag2403P6000.SF',\n",
" 'ag2403P6100.SF',\n",
" 'ag2403P6200.SF',\n",
" 'ag2403P6300.SF',\n",
" 'ag2403P6400.SF',\n",
" 'ag2403P6500.SF',\n",
" 'ag2403P6600.SF',\n",
" 'ag2403P6700.SF',\n",
" 'ag2403P6800.SF',\n",
" 'ag2403P6900.SF',\n",
" 'al1204.SF',\n",
" 'al1205.SF',\n",
" 'al1206.SF',\n",
" 'al1207.SF',\n",
" 'al1208.SF',\n",
" 'al1209.SF',\n",
" 'al1210.SF',\n",
" 'al1211.SF',\n",
" 'al1212.SF',\n",
" 'al1301.SF',\n",
" 'al1302.SF',\n",
" 'al1303.SF',\n",
" 'al1304.SF',\n",
" 'al1305.SF',\n",
" 'al1306.SF',\n",
" 'al1307.SF',\n",
" 'al1308.SF',\n",
" 'al1309.SF',\n",
" 'al1310.SF',\n",
" 'al1311.SF',\n",
" 'al1312.SF',\n",
" 'al1401.SF',\n",
" 'al1402.SF',\n",
" 'al1403.SF',\n",
" 'al1404.SF',\n",
" 'al1405.SF',\n",
" 'al1406.SF',\n",
" 'al1407.SF',\n",
" 'al1408.SF',\n",
" 'al1409.SF',\n",
" 'al1410.SF',\n",
" 'al1411.SF',\n",
" 'al1412.SF',\n",
" 'al1501.SF',\n",
" 'al1502.SF',\n",
" 'al1503.SF',\n",
" 'al1504.SF',\n",
" 'al1505.SF',\n",
" 'al1506.SF',\n",
" 'al1507.SF',\n",
" 'al1508.SF',\n",
" 'al1509.SF',\n",
" 'al1510.SF',\n",
" 'al1511.SF',\n",
" 'al1512.SF',\n",
" 'al1601.SF',\n",
" 'al1602.SF',\n",
" 'al1603.SF',\n",
" 'al1604.SF',\n",
" 'al1605.SF',\n",
" 'al1606.SF',\n",
" 'al1607.SF',\n",
" 'al1608.SF',\n",
" 'al1609.SF',\n",
" 'al1610.SF',\n",
" 'al1611.SF',\n",
" 'al1612.SF',\n",
" 'al1701.SF',\n",
" 'al1702.SF',\n",
" 'al1703.SF',\n",
" 'al1704.SF',\n",
" 'al1705.SF',\n",
" 'al1706.SF',\n",
" 'al1707.SF',\n",
" 'al1708.SF',\n",
" 'al1709.SF',\n",
" 'al1710.SF',\n",
" 'al1711.SF',\n",
" 'al1712.SF',\n",
" 'al1801.SF',\n",
" 'al1802.SF',\n",
" 'al1803.SF',\n",
" 'al1804.SF',\n",
" 'al1805.SF',\n",
" 'al1806.SF',\n",
" 'al1807.SF',\n",
" 'al1808.SF',\n",
" 'al1809.SF',\n",
" ...]"
]
},
"execution_count": 10,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# from xtquant import xtdata\n",
"get_stock_list_in_sector(\"过期上期所\")"
]
},
{
"cell_type": "code",
"execution_count": 16,
"metadata": {
"tags": []
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"{}\n"
]
}
],
"source": [
"print(get_option_detail_data('ag2303C4750.SF'))"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"tags": []
},
"outputs": [],
"source": [
"xtdata.download_history_data('CF111C20400.ZF',period = \"1m\")"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"day_data = xtdata.get_market_data_ex([], ['CF111C20400.ZF'], period='1m', start_time='20000101', end_time='20231026', count=-1, dividend_type='front', fill_data=True)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"tags": []
},
"outputs": [],
"source": [
"print(day_data)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"jupyter": {
"source_hidden": true
},
"tags": []
},
"outputs": [],
"source": [
"# 交易所映射关系\n",
"EXCHANGE_XT2VT = {\n",
" \"SH\": Exchange.SSE,\n",
" \"SZ\": Exchange.SZSE,\n",
" \"BJ\": Exchange.BSE,\n",
" \"SF\": Exchange.SHFE,\n",
" \"IF\": Exchange.CFFEX,\n",
" \"INE\": Exchange.INE,\n",
" \"DF\": Exchange.DCE,\n",
" \"ZF\": Exchange.CZCE,\n",
" \"GF\": Exchange.GFEX\n",
"}\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"tags": []
},
"outputs": [],
"source": [
"# 下载历史合约信息\n",
"download_history_data(\"\", \"historycontract\")"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"jupyter": {
"source_hidden": true
},
"tags": []
},
"outputs": [],
"source": [
"# 查询中金所历史合约代码\n",
"cffex_symbols: list[str] = get_stock_list_in_sector(\"过期郑商所\")\n",
"cffex_symbols[-60:-51]"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"from xtquant import xtdata\n",
"xtdata.get_option_detail_data('ZC404P860.ZF')"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"# 遍历列表查询合约信息\n",
"contracts: list[ContractData] = []\n",
"\n",
"for xt_symbol in cffex_symbols:\n",
" # 拆分XT代码\n",
" symbol, xt_exchange = xt_symbol.split(\".\")\n",
"\n",
" # 筛选期权合约合约\n",
" if \"-\" in symbol:\n",
" data: dict = get_instrument_detail(xt_symbol, True)\n",
"\n",
" type_str = data[\"InstrumentID\"].split(\"-\")[1]\n",
" if type_str == \"C\":\n",
" option_type = OptionType.CALL\n",
" elif type_str == \"P\":\n",
" option_type = OptionType.PUT\n",
"\n",
" contract: ContractData = ContractData(\n",
" symbol=data[\"InstrumentID\"],\n",
" exchange=EXCHANGE_XT2VT[xt_exchange.replace(\"O\", \"\")],\n",
" name=data[\"InstrumentName\"],\n",
" product=Product.OPTION,\n",
" size=data[\"VolumeMultiple\"],\n",
" pricetick=data[\"PriceTick\"],\n",
" min_volume=data[\"MinLimitOrderVolume\"],\n",
" option_strike=data[\"ExtendInfo\"][\"OptExercisePrice\"],\n",
" option_listed=datetime.strptime(data[\"OpenDate\"], \"%Y%m%d\"),\n",
" option_expiry=datetime.strptime(data[\"ExpireDate\"], \"%Y%m%d\"),\n",
" option_portfolio=data[\"ProductID\"],\n",
" option_index=str(data[\"ExtendInfo\"][\"OptExercisePrice\"]),\n",
" option_type=option_type,\n",
" gateway_name=\"XT\"\n",
" )\n",
" contracts.append(contract)\n",
"\n",
"print(\"数据长度\", len(contracts))"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"# 查看期权合约信息\n",
"contracts[0]"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"# 创建Elite数据库实例\n",
"database: EliteDatabase = EliteDatabase()"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"# 写入合约信息\n",
"database.save_contract_data(contracts)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"# 读取合约信息(全量)\n",
"loaded_contracts = database.load_contract_data()"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"# 查看读取的合约信息\n",
"print(loaded_contracts[0])\n",
"print(loaded_contracts[-1])"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"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.10.9"
},
"vscode": {
"interpreter": {
"hash": "1b43cb0bd93d5abbadd54afed8252f711d4681fe6223ad6b67ffaee289648f85"
}
}
},
"nbformat": 4,
"nbformat_minor": 4
}