commit 777650df1286534be91b061d270776e64461e32e Author: SeanChenTaipei Date: Thu Mar 2 14:24:58 2023 +0800 init commit diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..d97f8e3 --- /dev/null +++ b/.gitignore @@ -0,0 +1,13 @@ +# Byte-compiled / optimized / DLL files +.ipynb_checkpoints/ +__pycache__/ +.DS_Store + +tpm/ + +# Distribution / packaging +main.old.py +postgres_runner.py +*.ipynb +tickers_sorted_tw.py +tickers_sorted.py \ No newline at end of file diff --git a/assets_tw.json b/assets_tw.json new file mode 100644 index 0000000..0ad7fa5 --- /dev/null +++ b/assets_tw.json @@ -0,0 +1 @@ +{"1101.TW": ["\u53f0\u6ce5", 39.150001525878906, "2000-01-05", "2023-02-24"], "1102.TW": ["\u4e9e\u6ce5", 44.75, "2000-01-05", "2023-02-24"], "1103.TW": ["\u5609\u6ce5", 20.399999618530273, "2000-01-05", "2023-02-24"], "1104.TW": ["\u74b0\u6ce5", 24.450000762939453, "2000-01-05", "2023-02-24"], "1108.TW": ["\u5e78\u798f", 14.149999618530273, "2000-01-05", "2023-02-24"], "1109.TW": ["\u4fe1\u5927", 17.100000381469727, "2000-01-05", "2023-02-24"], "1110.TW": ["\u6771\u6ce5", 17.899999618530273, "2000-01-05", "2023-02-24"], "1201.TW": ["\u5473\u5168", 20.600000381469727, "2000-01-05", "2023-02-24"], "1203.TW": ["\u5473\u738b", 37.0, "2000-01-05", "2023-02-24"], "1210.TW": ["\u5927\u6210", 50.599998474121094, "2000-01-05", "2023-02-24"], "1213.TW": ["\u5927\u98f2", 7.079999923706055, "2000-01-05", "2023-02-24"], "1215.TW": ["\u535c\u8702", 80.4000015258789, "2000-01-05", "2023-02-24"], "1216.TW": ["\u7d71\u4e00", 67.5, "2000-01-05", "2023-02-24"], "1217.TW": ["\u611b\u4e4b\u5473", 11.350000381469727, "2000-01-05", "2023-02-24"], "1218.TW": ["\u6cf0\u5c71", 30.100000381469727, "2000-01-05", "2023-02-24"], "1219.TW": ["\u798f\u58fd", 20.899999618530273, "2000-01-05", "2023-02-24"], "1220.TW": ["\u53f0\u69ae", 16.0, "2000-01-05", "2023-02-24"], "1225.TW": ["\u798f\u61cb\u6cb9", 58.400001525878906, "2000-01-05", "2023-02-24"], "1227.TW": ["\u4f73\u683c", 41.849998474121094, "2000-01-05", "2023-02-24"], "1229.TW": ["\u806f\u83ef", 54.400001525878906, "2000-01-05", "2023-02-24"], "1231.TW": ["\u806f\u83ef\u98df", 86.0, "2000-01-05", "2023-02-24"], "1232.TW": ["\u5927\u7d71\u76ca", 146.5, "2000-01-05", "2023-02-24"], "1233.TW": ["\u5929\u4ec1", 33.900001525878906, "2000-01-05", "2023-02-24"], "1234.TW": ["\u9ed1\u677e", 34.95000076293945, "2000-01-05", "2023-02-24"], "1235.TW": ["\u8208\u6cf0", 68.9000015258789, "2000-01-05", "2023-02-24"], "1236.TW": ["\u5b8f\u4e9e", 24.799999237060547, "2000-01-05", "2023-02-24"], "1256.TW": ["\u9bae\u6d3b\u679c\u6c41-KY", 320.0, "2012-09-06", "2023-02-24"], "1301.TW": ["\u53f0\u5851", 90.9000015258789, "2000-01-05", "2023-02-24"], "1303.TW": ["\u5357\u4e9e", 75.5999984741211, "2000-01-05", "2023-02-24"], "1304.TW": ["\u53f0\u805a", 25.100000381469727, "2000-01-05", "2023-02-24"], "1305.TW": ["\u83ef\u590f", 28.549999237060547, "2000-01-05", "2023-02-24"], "1307.TW": ["\u4e09\u82b3", 21.0, "2000-01-05", "2023-02-24"], "1308.TW": ["\u4e9e\u805a", 29.049999237060547, "2000-01-05", "2023-02-24"], "1309.TW": ["\u53f0\u9054\u5316", 23.100000381469727, "2000-01-05", "2023-02-24"], "1310.TW": ["\u53f0\u82ef", 14.149999618530273, "2000-01-05", "2023-02-24"], "1312.TW": ["\u570b\u55ac", 19.899999618530273, "2000-01-05", "2023-02-24"], "1313.TW": ["\u806f\u6210", 15.550000190734863, "2000-01-05", "2023-02-24"], "1314.TW": ["\u4e2d\u77f3\u5316", 10.199999809265137, "2000-01-05", "2023-02-24"], "1315.TW": ["\u9054\u65b0", 72.0, "2005-09-30", "2023-02-24"], "1316.TW": ["\u4e0a\u66dc", 12.050000190734863, "2000-01-05", "2023-02-24"], "1319.TW": ["\u6771\u967d", 43.650001525878906, "2000-01-05", "2023-02-24"], "1321.TW": ["\u5927\u6d0b", 36.150001525878906, "2000-01-05", "2023-02-24"], "1323.TW": ["\u6c38\u88d5", 33.400001525878906, "2000-01-05", "2023-02-24"], "1324.TW": ["\u5730\u7403", 11.25, "2000-01-05", "2023-02-24"], "1325.TW": ["\u6046\u5927", 23.899999618530273, "2000-01-05", "2023-02-24"], "1326.TW": ["\u53f0\u5316", 71.19999694824219, "2000-01-05", "2023-02-24"], "1337.TW": ["\u518d\u751f-KY", 7.199999809265137, "2011-08-18", "2023-02-24"], "1338.TW": ["\u5ee3\u83ef-KY", 46.04999923706055, "2012-11-02", "2023-02-24"], "1339.TW": ["\u662d\u8f1d", 42.599998474121094, "2012-04-25", "2023-02-24"], "1340.TW": ["\u52dd\u6085-KY", 11.100000381469727, "2013-12-09", "2023-02-24"], "1341.TW": ["\u5bcc\u6797-KY", 68.69999694824219, "2018-12-25", "2023-02-24"], "1342.TW": ["\u516b\u8cab", 154.5, "2019-10-08", "2023-02-24"], "1402.TW": ["\u9060\u6771\u65b0", 32.45000076293945, "2000-01-05", "2023-02-24"], "1409.TW": ["\u65b0\u7e96", 18.200000762939453, "2000-01-05", "2023-02-24"], "1410.TW": ["\u5357\u67d3", 40.54999923706055, "2000-01-05", "2023-02-24"], "1413.TW": ["\u5b8f\u6d32", 9.550000190734863, "2000-01-05", "2023-02-24"], "1414.TW": ["\u6771\u548c", 18.049999237060547, "2000-01-05", "2023-02-24"], "1416.TW": ["\u5ee3\u8c50", 11.100000381469727, "2000-01-05", "2023-02-24"], "1417.TW": ["\u5609\u88d5", 14.100000381469727, "2000-01-05", "2023-02-24"], "1418.TW": ["\u6771\u83ef", 14.0, "2000-01-05", "2023-02-24"], "1419.TW": ["\u65b0\u7d21", 41.0, "2000-01-05", "2023-02-24"], "1423.TW": ["\u5229\u83ef", 20.299999237060547, "2000-01-05", "2023-02-24"], "1432.TW": ["\u5927\u9b6f\u95a3", 18.549999237060547, "2000-01-05", "2023-02-24"], "1434.TW": ["\u798f\u61cb", 27.700000762939453, "2000-01-05", "2023-02-24"], "1435.TW": ["\u4e2d\u798f", 44.20000076293945, "2000-01-05", "2023-02-24"], "1436.TW": ["\u83ef\u53cb\u806f", 54.29999923706055, "2000-01-05", "2023-02-24"], "1437.TW": ["\u52e4\u76ca\u63a7", 30.899999618530273, "2000-01-05", "2023-02-24"], "1438.TW": ["\u4e09\u5730\u958b\u767c", 32.95000076293945, "2000-01-05", "2023-02-24"], "1439.TW": ["\u4e2d\u548c", 23.399999618530273, "2000-01-05", "2023-02-24"], "1440.TW": ["\u5357\u7d21", 17.799999237060547, "2000-01-05", "2023-02-24"], "1441.TW": ["\u5927\u6771", 8.140000343322754, "2000-01-05", "2023-02-24"], "1442.TW": ["\u540d\u8ed2", 31.700000762939453, "2000-01-05", "2023-02-24"], "1443.TW": ["\u7acb\u76ca", 30.850000381469727, "2000-01-05", "2023-02-24"], "1444.TW": ["\u529b\u9e97", 10.649999618530273, "2000-01-05", "2023-02-24"], "1445.TW": ["\u5927\u5b87", 15.949999809265137, "2000-01-05", "2023-02-24"], "1446.TW": ["\u5b8f\u548c", 32.400001525878906, "2000-01-05", "2023-02-24"], "1447.TW": ["\u529b\u9d6c", 8.369999885559082, "2000-01-05", "2023-02-24"], "1449.TW": ["\u4f73\u548c", 15.25, "2000-01-05", "2023-02-24"], "1451.TW": ["\u5e74\u8208", 23.450000762939453, "2000-01-05", "2023-02-24"], "1452.TW": ["\u5b8f\u76ca", 18.100000381469727, "2000-01-05", "2023-02-24"], "1453.TW": ["\u5927\u5c07", 16.149999618530273, "2000-01-05", "2023-02-24"], "1454.TW": ["\u53f0\u5bcc", 12.949999809265137, "2000-01-05", "2023-02-24"], "1455.TW": ["\u96c6\u76db", 11.100000381469727, "2000-01-05", "2023-02-24"], "1456.TW": ["\u6021\u83ef", 15.199999809265137, "2000-01-05", "2023-02-24"], "1457.TW": ["\u5b9c\u9032", 19.149999618530273, "2000-01-05", "2023-02-24"], "1459.TW": ["\u806f\u767c", 8.619999885559082, "2000-01-05", "2023-02-24"], "1460.TW": ["\u5b8f\u9060", 7.309999942779541, "2000-01-05", "2023-02-24"], "1463.TW": ["\u5f37\u76db", 15.0, "2000-01-05", "2023-02-24"], "1464.TW": ["\u5f97\u529b", 14.350000381469727, "2000-01-05", "2023-02-24"], "1465.TW": ["\u5049\u5168", 13.949999809265137, "2000-01-05", "2023-02-24"], "1466.TW": ["\u805a\u9686", 11.75, "2000-01-05", "2023-02-24"], "1467.TW": ["\u5357\u7def", 11.550000190734863, "2000-01-05", "2023-02-24"], "1468.TW": ["\u6636\u548c", 14.149999618530273, "2000-01-05", "2023-02-24"], "1470.TW": ["\u5927\u7d71\u65b0\u5275", 19.149999618530273, "2000-01-05", "2023-02-24"], "1471.TW": ["\u9996\u5229", 7.880000114440918, "2000-01-05", "2023-02-24"], "1472.TW": ["\u4e09\u6d0b\u7d21", 29.75, "2000-01-05", "2023-02-24"], "1473.TW": ["\u53f0\u5357", 26.25, "2000-01-05", "2023-02-24"], "1474.TW": ["\u5f18\u88d5", 12.300000190734863, "2000-01-05", "2023-02-24"], "1475.TW": ["\u672c\u76df", 69.0999984741211, "2000-01-05", "2023-02-24"], "1476.TW": ["\u5112\u9d3b", 480.5, "2001-04-19", "2023-02-24"], "1477.TW": ["\u805a\u967d", 214.5, "2003-01-23", "2023-02-24"], "1503.TW": ["\u58eb\u96fb", 80.5999984741211, "2000-01-05", "2023-02-24"], "1504.TW": ["\u6771\u5143", 30.75, "2000-01-05", "2023-02-24"], "1506.TW": ["\u6b63\u9053", 22.100000381469727, "2000-01-05", "2023-02-24"], "1512.TW": ["\u745e\u5229", 5.599999904632568, "2000-01-05", "2023-02-24"], "1513.TW": ["\u4e2d\u8208\u96fb", 94.9000015258789, "2000-01-05", "2023-02-24"], "1514.TW": ["\u4e9e\u529b", 38.400001525878906, "2000-01-05", "2023-02-24"], "1515.TW": ["\u529b\u5c71", 30.799999237060547, "2000-01-05", "2023-02-24"], "1516.TW": ["\u5ddd\u98db", 20.5, "2000-01-05", "2023-02-24"], "1517.TW": ["\u5229\u5947", 20.600000381469727, "2000-01-05", "2023-02-24"], "1519.TW": ["\u83ef\u57ce", 63.0, "2000-01-05", "2023-02-24"], "1521.TW": ["\u5927\u5104", 37.95000076293945, "2000-01-05", "2023-02-24"], "1522.TW": ["\u5824\u7dad\u897f", 28.399999618530273, "2000-01-05", "2023-02-24"], "1524.TW": ["\u803f\u9f0e", 24.700000762939453, "2000-01-05", "2023-02-24"], "1525.TW": ["\u6c5f\u7533", 61.0, "2000-01-05", "2023-02-24"], "1526.TW": ["\u65e5\u99b3", 42.400001525878906, "2000-03-29", "2023-02-24"], "1527.TW": ["\u947d\u5168", 44.29999923706055, "2000-01-05", "2023-02-24"], "1528.TW": ["\u6069\u5fb7", 10.75, "2000-01-05", "2023-02-24"], "1529.TW": ["\u6a02\u58eb", 24.200000762939453, "2000-01-05", "2023-02-24"], "1530.TW": ["\u4e9e\u5d34", 32.25, "2000-01-05", "2023-02-24"], "1531.TW": ["\u9ad8\u6797\u80a1", 14.649999618530273, "2000-01-05", "2023-02-24"], "1532.TW": ["\u52e4\u7f8e", 33.5, "2000-01-05", "2023-02-24"], "1533.TW": ["\u8eca\u738b\u96fb", 51.599998474121094, "2001-04-10", "2023-02-24"], "1535.TW": ["\u4e2d\u5b87", 47.099998474121094, "2000-01-06", "2023-02-24"], "1536.TW": ["\u548c\u5927", 72.4000015258789, "2000-03-31", "2023-02-24"], "1537.TW": ["\u5ee3\u9686", 140.0, "2002-01-24", "2023-02-24"], "1538.TW": ["\u6b63\u5cf0", 8.989999771118164, "2000-01-05", "2023-02-24"], "1539.TW": ["\u5de8\u5ead", 29.299999237060547, "2002-10-31", "2023-02-24"], "1540.TW": ["\u55ac\u798f", 17.200000762939453, "2000-01-05", "2023-02-24"], "1541.TW": ["\u9329\u6cf0", 37.849998474121094, "2003-03-20", "2023-02-24"], "1558.TW": ["\u4f38\u8208", 122.0, "2008-01-02", "2023-02-24"], "1560.TW": ["\u4e2d\u7802", 114.0, "2005-02-01", "2023-02-24"], "1568.TW": ["\u5009\u4f51", 23.950000762939453, "2008-01-02", "2023-02-24"], "1582.TW": ["\u4fe1\u9326", 61.5, "2009-12-18", "2023-02-24"], "1583.TW": ["\u7a0b\u6cf0", 61.900001525878906, "2008-01-25", "2023-02-24"], "1587.TW": ["\u5409\u8302", 22.5, "2012-06-26", "2023-02-24"], "1589.TW": ["\u6c38\u51a0-KY", 68.5999984741211, "2012-04-30", "2023-02-24"], "1590.TW": ["\u4e9e\u5fb7\u5ba2-KY", 1075.0, "2010-12-14", "2023-02-24"], "1598.TW": ["\u5cb1\u5b87", 47.54999923706055, "2012-10-04", "2023-02-24"], "1603.TW": ["\u83ef\u96fb", 26.25, "2000-01-05", "2023-02-24"], "1604.TW": ["\u8072\u5bf6", 26.899999618530273, "2000-01-05", "2023-02-24"], "1605.TW": ["\u83ef\u65b0", 56.599998474121094, "2000-01-05", "2023-02-24"], "1608.TW": ["\u83ef\u69ae", 15.600000381469727, "2000-01-05", "2023-02-24"], "1609.TW": ["\u5927\u4e9e", 24.25, "2000-01-05", "2023-02-24"], "1611.TW": ["\u4e2d\u96fb", 14.25, "2000-01-05", "2023-02-24"], "1612.TW": ["\u5b8f\u6cf0", 19.0, "2000-01-05", "2023-02-24"], "1614.TW": ["\u4e09\u6d0b\u96fb", 37.0, "2000-01-05", "2023-02-24"], "1615.TW": ["\u5927\u5c71", 32.400001525878906, "2000-01-05", "2023-02-24"], "1616.TW": ["\u5104\u6cf0", 8.170000076293945, "2000-01-05", "2023-02-24"], "1617.TW": ["\u69ae\u661f", 14.800000190734863, "2000-01-05", "2023-02-24"], "1618.TW": ["\u5408\u6a5f", 14.699999809265137, "2000-01-05", "2023-02-24"], "1626.TW": ["\u827e\u7f8e\u7279-KY", 17.950000762939453, "2012-10-09", "2023-02-24"], "1701.TW": ["\u4e2d\u5316", 27.5, "2000-01-05", "2023-02-24"], "1702.TW": ["\u5357\u50d1", 47.0, "2000-01-05", "2023-02-24"], "1707.TW": ["\u8461\u8404\u738b", 181.5, "2000-01-05", "2023-02-24"], "1708.TW": ["\u6771\u9e7c", 42.5, "2000-01-05", "2023-02-24"], "1709.TW": ["\u548c\u76ca", 24.299999237060547, "2000-01-05", "2023-02-24"], "1710.TW": ["\u6771\u806f", 18.850000381469727, "2000-01-05", "2023-02-24"], "1711.TW": ["\u6c38\u5149", 18.850000381469727, "2000-01-05", "2023-02-24"], "1712.TW": ["\u8208\u8fb2", 39.599998474121094, "2000-01-05", "2023-02-24"], "1713.TW": ["\u570b\u5316", 26.25, "2000-01-05", "2023-02-24"], "1714.TW": ["\u548c\u6850", 8.930000305175781, "2000-01-05", "2023-02-24"], "1717.TW": ["\u9577\u8208", 32.29999923706055, "2000-01-05", "2023-02-24"], "1718.TW": ["\u4e2d\u7e96", 8.710000038146973, "2000-01-05", "2023-02-24"], "1720.TW": ["\u751f\u9054", 57.70000076293945, "2000-01-05", "2023-02-24"], "1721.TW": ["\u4e09\u6643", 15.050000190734863, "2000-01-05", "2023-02-24"], "1722.TW": ["\u53f0\u80a5", 57.5, "2000-01-05", "2023-02-24"], "1723.TW": ["\u4e2d\u78b3", 113.0, "2000-01-05", "2023-02-24"], "1724.TW": ["\u53f0\u785d", 15.600000381469727, "2000-01-05", "2021-10-29"], "1725.TW": ["\u5143\u798e", 21.299999237060547, "2000-01-05", "2023-02-24"], "1726.TW": ["\u6c38\u8a18", 72.0999984741211, "2000-01-05", "2023-02-24"], "1727.TW": ["\u4e2d\u83ef\u5316", 26.649999618530273, "2000-01-05", "2023-02-24"], "1730.TW": ["\u82b1\u4ed9\u5b50", 55.5, "2000-01-20", "2023-02-24"], "1731.TW": ["\u7f8e\u543e\u83ef", 19.600000381469727, "2000-01-05", "2023-02-24"], "1732.TW": ["\u6bdb\u5bf6", 29.200000762939453, "2000-01-05", "2023-02-24"], "1733.TW": ["\u4e94\u9f0e", 26.149999618530273, "2000-06-15", "2023-02-24"], "1734.TW": ["\u674f\u8f1d", 31.25, "2002-08-28", "2023-02-24"], "1735.TW": ["\u65e5\u52dd\u5316", 14.949999809265137, "2002-08-28", "2023-02-24"], "1736.TW": ["\u55ac\u5c71", 70.0999984741211, "2003-01-10", "2023-02-24"], "1737.TW": ["\u81fa\u9e7d", 33.349998474121094, "2003-11-19", "2023-02-24"], "1760.TW": ["\u5bf6\u9f61\u5bcc\u9326", 161.0, "2007-12-21", "2023-02-24"], "1762.TW": ["\u4e2d\u5316\u751f", 67.80000305175781, "2010-12-21", "2023-02-24"], "1773.TW": ["\u52dd\u4e00", 121.5, "2009-03-02", "2023-02-24"], "1776.TW": ["\u5c55\u5b87", 16.950000762939453, "2008-01-02", "2023-02-24"], "1783.TW": ["\u548c\u5eb7\u751f", 60.70000076293945, "2012-10-04", "2023-02-24"], "1786.TW": ["\u79d1\u598d", 65.19999694824219, "2013-03-13", "2023-02-24"], "1789.TW": ["\u795e\u9686", 26.149999618530273, "2011-09-30", "2023-02-24"], "1795.TW": ["\u7f8e\u6642", 281.0, "2007-12-24", "2023-02-24"], "1802.TW": ["\u53f0\u73bb", 23.450000762939453, "2000-01-05", "2023-02-24"], "1805.TW": ["\u5bf6\u5fa0", 10.600000381469727, "2000-01-05", "2023-02-24"], "1806.TW": ["\u51a0\u8ecd", 9.130000114440918, "2000-01-05", "2023-02-24"], "1808.TW": ["\u6f64\u9686", 71.19999694824219, "2000-02-02", "2023-02-24"], "1809.TW": ["\u4e2d\u91c9", 14.149999618530273, "2000-01-05", "2023-02-24"], "1810.TW": ["\u548c\u6210", 19.149999618530273, "2000-01-05", "2023-02-24"], "1817.TW": ["\u51f1\u6492\u885b", 38.95000076293945, "2013-03-13", "2023-02-24"], "1903.TW": ["\u58eb\u7d19", 48.79999923706055, "2000-01-05", "2023-02-24"], "1904.TW": ["\u6b63\u9686", 28.850000381469727, "2000-01-05", "2023-02-24"], "1905.TW": ["\u83ef\u7d19", 17.450000762939453, "2000-01-05", "2023-02-24"], "1906.TW": ["\u5bf6\u9686", 18.049999237060547, "2000-01-05", "2023-02-24"], "1907.TW": ["\u6c38\u8c50\u9918", 27.149999618530273, "2000-01-05", "2023-02-24"], "1909.TW": ["\u69ae\u6210", 18.950000762939453, "2000-01-05", "2023-02-24"], "2002.TW": ["\u4e2d\u92fc", 31.399999618530273, "2000-01-05", "2023-02-24"], "2006.TW": ["\u6771\u548c\u92fc\u9435", 59.599998474121094, "2000-01-05", "2023-02-24"], "2007.TW": ["\u71c1\u8208", 12.449999809265137, "2000-01-05", "2023-02-24"], "2008.TW": ["\u9ad8\u8208\u660c", 18.600000381469727, "2000-01-05", "2023-02-24"], "2009.TW": ["\u7b2c\u4e00\u9285", 35.900001525878906, "2000-01-05", "2023-02-24"], "2010.TW": ["\u6625\u6e90", 16.950000762939453, "2000-01-05", "2023-02-24"], "2012.TW": ["\u6625\u96e8", 24.549999237060547, "2000-01-05", "2023-02-24"], "2013.TW": ["\u4e2d\u92fc\u69cb", 59.79999923706055, "2000-01-05", "2023-02-24"], "2014.TW": ["\u4e2d\u9d3b", 28.899999618530273, "2000-01-05", "2023-02-24"], "2015.TW": ["\u8c50\u8208", 71.19999694824219, "2000-01-05", "2023-02-24"], "2017.TW": ["\u5b98\u7530\u92fc", 19.100000381469727, "2000-01-05", "2023-02-24"], "2020.TW": ["\u7f8e\u4e9e", 23.799999237060547, "2000-01-05", "2023-02-24"], "2022.TW": ["\u805a\u4ea8", 8.819999694824219, "2000-01-05", "2023-02-24"], "2023.TW": ["\u71c1\u8f1d", 17.299999237060547, "2000-01-05", "2023-02-24"], "2024.TW": ["\u5fd7\u806f", 19.200000762939453, "2000-01-05", "2023-02-24"], "2025.TW": ["\u5343\u8208", 5.769999980926514, "2019-03-22", "2023-02-24"], "2027.TW": ["\u5927\u6210\u92fc", 43.5, "2000-01-05", "2023-02-24"], "2028.TW": ["\u5a01\u81f4", 28.700000762939453, "2000-01-05", "2023-02-24"], "2029.TW": ["\u76db\u9918", 25.700000762939453, "2000-01-05", "2023-02-24"], "2030.TW": ["\u5f70\u6e90", 23.450000762939453, "2000-01-05", "2023-02-24"], "2031.TW": ["\u65b0\u5149\u92fc", 44.70000076293945, "2000-01-05", "2023-02-24"], "2032.TW": ["\u65b0\u92fc", 20.75, "2000-01-05", "2023-02-24"], "2033.TW": ["\u4f73\u5927", 16.200000762939453, "2000-01-05", "2023-02-24"], "2034.TW": ["\u5141\u5f37", 31.100000381469727, "2000-01-05", "2023-02-24"], "2038.TW": ["\u6d77\u5149", 22.799999237060547, "2008-12-31", "2023-02-24"], "2049.TW": ["\u4e0a\u9280", 251.0, "2008-01-02", "2023-02-24"], "2059.TW": ["\u5ddd\u6e56", 417.5, "2008-06-26", "2023-02-24"], "2062.TW": ["\u6a4b\u693f", 23.549999237060547, "2007-11-19", "2023-02-24"], "2069.TW": ["\u904b\u9329", 21.399999618530273, "2015-02-06", "2023-02-24"], "2101.TW": ["\u5357\u6e2f", 36.599998474121094, "2000-01-05", "2023-02-24"], "2102.TW": ["\u6cf0\u8c50", 21.700000762939453, "2000-01-05", "2023-02-24"], "2103.TW": ["\u53f0\u6a61", 29.049999237060547, "2000-01-05", "2023-02-24"], "2104.TW": ["\u570b\u969b\u4e2d\u6a61", 20.799999237060547, "2000-01-05", "2023-02-24"], "2105.TW": ["\u6b63\u65b0", 34.25, "2000-01-05", "2023-02-24"], "2106.TW": ["\u5efa\u5927", 31.049999237060547, "2000-01-05", "2023-02-24"], "2107.TW": ["\u539a\u751f", 22.25, "2000-01-05", "2023-02-24"], "2108.TW": ["\u5357\u5e1d", 43.29999923706055, "2000-01-05", "2023-02-24"], "2109.TW": ["\u83ef\u8c50", 14.850000381469727, "2000-01-05", "2023-02-24"], "2114.TW": ["\u946b\u6c38\u9293", 99.19999694824219, "2008-01-02", "2023-02-24"], "2115.TW": ["\u516d\u6689-KY", 30.899999618530273, "2013-12-26", "2023-02-24"], "2201.TW": ["\u88d5\u9686", 81.30000305175781, "2000-01-05", "2023-02-24"], "2204.TW": ["\u4e2d\u83ef", 57.20000076293945, "2000-01-05", "2023-02-24"], "2206.TW": ["\u4e09\u967d\u5de5\u696d", 39.79999923706055, "2000-01-05", "2023-02-24"], "2207.TW": ["\u548c\u6cf0\u8eca", 617.0, "2000-01-05", "2023-02-24"], "2208.TW": ["\u53f0\u8239", 23.549999237060547, "2008-12-23", "2023-02-24"], "2227.TW": ["\u88d5\u65e5\u8eca", 204.0, "2004-12-22", "2023-02-24"], "2228.TW": ["\u528d\u9e9f", 82.19999694824219, "2013-03-13", "2023-02-24"], "2231.TW": ["\u70ba\u5347", 158.0, "2008-01-02", "2023-02-24"], "2233.TW": ["\u5b87\u9686", 103.5, "2011-11-15", "2023-02-24"], "2236.TW": ["\u767e\u9054-KY", 41.900001525878906, "2015-06-04", "2023-02-24"], "2239.TW": ["\u82f1\u5229-KY", 63.20000076293945, "2015-09-16", "2023-02-24"], "2241.TW": ["\u827e\u59c6\u52d2", 33.900001525878906, "2016-03-11", "2023-02-24"], "2243.TW": ["\u5b8f\u65ed-KY", 19.700000762939453, "2017-09-29", "2023-02-24"], "2247.TW": ["\u6c4e\u5fb7\u6c38\u696d", 232.5, "2017-11-01", "2023-02-24"], "2301.TW": ["\u5149\u5bf6\u79d1", 69.5, "2000-01-05", "2023-02-24"], "2302.TW": ["\u9e97\u6b63", 17.5, "2000-01-05", "2023-02-24"], "2303.TW": ["\u806f\u96fb", 49.95000076293945, "2000-01-05", "2023-02-24"], "2305.TW": ["\u5168\u53cb", 23.649999618530273, "2000-01-05", "2023-02-24"], "2308.TW": ["\u53f0\u9054\u96fb", 286.5, "2000-01-05", "2023-02-24"], "2312.TW": ["\u91d1\u5bf6", 13.699999809265137, "2000-01-05", "2023-02-24"], "2313.TW": ["\u83ef\u901a", 45.599998474121094, "2000-01-05", "2023-02-24"], "2314.TW": ["\u53f0\u63da", 43.900001525878906, "2000-01-05", "2023-02-24"], "2316.TW": ["\u6960\u6893\u96fb", 27.899999618530273, "2000-01-05", "2023-02-24"], "2317.TW": ["\u9d3b\u6d77", 101.0, "1993-01-06", "2023-02-24"], "2321.TW": ["\u6771\u8a0a", 18.049999237060547, "2000-01-05", "2023-02-24"], "2323.TW": ["\u4e2d\u74b0", 8.029999732971191, "2000-01-05", "2023-02-24"], "2324.TW": ["\u4ec1\u5bf6", 24.149999618530273, "2000-01-05", "2023-02-24"], "2327.TW": ["\u570b\u5de8", 538.0, "2000-01-05", "2023-02-24"], "2328.TW": ["\u5ee3\u5b87", 38.5, "2000-01-05", "2023-02-24"], "2329.TW": ["\u83ef\u6cf0", 19.649999618530273, "2000-01-05", "2023-02-24"], "2330.TW": ["\u53f0\u7a4d\u96fb", 511.0, "2000-01-05", "2023-02-24"], "2331.TW": ["\u7cbe\u82f1", 21.549999237060547, "2000-01-05", "2023-02-24"], "2332.TW": ["\u53cb\u8a0a", 17.200000762939453, "2000-01-05", "2023-02-24"], "2337.TW": ["\u65fa\u5b8f", 34.45000076293945, "2000-01-05", "2023-02-24"], "2338.TW": ["\u5149\u7f69", 82.5999984741211, "2000-01-05", "2023-02-24"], "2340.TW": ["\u5149\u78ca", 37.599998474121094, "2000-01-05", "2023-02-24"], "2342.TW": ["\u8302\u77fd", 41.400001525878906, "2000-01-05", "2023-02-24"], "2344.TW": ["\u83ef\u90a6\u96fb", 23.049999237060547, "2000-01-05", "2023-02-24"], "2345.TW": ["\u667a\u90a6", 283.0, "2000-01-05", "2023-02-24"], "2347.TW": ["\u806f\u5f37", 62.5, "2000-01-05", "2023-02-24"], "2348.TW": ["\u6d77\u6085", 67.69999694824219, "2000-01-05", "2023-02-24"], "2349.TW": ["\u9338\u5fb7", 8.609999656677246, "2000-01-05", "2023-02-24"], "2351.TW": ["\u9806\u5fb7", 124.0, "2000-01-05", "2023-02-24"], "2352.TW": ["\u4f73\u4e16\u9054", 30.0, "2000-01-05", "2023-02-24"], "2353.TW": ["\u5b8f\u7881", 25.350000381469727, "2000-01-05", "2023-02-24"], "2354.TW": ["\u9d3b\u6e96", 55.5, "2000-01-05", "2023-02-24"], "2355.TW": ["\u656c\u9d6c", 29.5, "2000-01-05", "2023-02-24"], "2356.TW": ["\u82f1\u696d\u9054", 26.600000381469727, "2000-01-05", "2023-02-24"], "2357.TW": ["\u83ef\u78a9", 278.0, "2000-01-05", "2023-02-24"], "2358.TW": ["\u5ef7\u946b", 15.25, "2000-01-05", "2023-02-24"], "2359.TW": ["\u6240\u7f85\u9580", 26.600000381469727, "2000-01-05", "2023-02-24"], "2360.TW": ["\u81f4\u8302", 184.5, "2000-01-05", "2023-02-24"], "2362.TW": ["\u85cd\u5929", 31.100000381469727, "2000-01-05", "2023-02-24"], "2363.TW": ["\u77fd\u7d71", 18.450000762939453, "2000-01-05", "2023-02-24"], "2364.TW": ["\u502b\u98db", 110.5, "2000-01-05", "2023-02-24"], "2365.TW": ["\u6606\u76c8", 10.399999618530273, "2000-01-05", "2023-02-24"], "2367.TW": ["\u71ff\u83ef", 18.75, "2000-01-05", "2023-02-24"], "2368.TW": ["\u91d1\u50cf\u96fb", 92.0999984741211, "2000-01-05", "2023-02-24"], "2369.TW": ["\u83f1\u751f", 15.149999618530273, "2000-01-05", "2023-02-24"], "2371.TW": ["\u5927\u540c", 33.5, "2000-01-05", "2023-02-24"], "2373.TW": ["\u9707\u65e6\u884c", 80.5, "2000-01-05", "2023-02-24"], "2374.TW": ["\u4f73\u80fd", 20.75, "2005-09-30", "2023-02-24"], "2375.TW": ["\u51f1\u7f8e", 66.80000305175781, "2000-01-05", "2023-02-24"], "2376.TW": ["\u6280\u5609", 119.0, "2000-01-05", "2023-02-24"], "2377.TW": ["\u5fae\u661f", 137.0, "2000-01-05", "2023-02-24"], "2379.TW": ["\u745e\u6631", 380.0, "2000-01-05", "2023-02-24"], "2380.TW": ["\u8679\u5149", 10.75, "2000-01-05", "2023-02-24"], "2382.TW": ["\u5ee3\u9054", 80.0999984741211, "2000-01-05", "2023-02-24"], "2383.TW": ["\u53f0\u5149\u96fb", 190.5, "2000-01-05", "2023-02-24"], "2385.TW": ["\u7fa4\u5149", 92.0, "2000-01-05", "2023-02-24"], "2387.TW": ["\u7cbe\u5143", 39.20000076293945, "2000-01-05", "2023-02-24"], "2388.TW": ["\u5a01\u76db", 90.80000305175781, "2000-01-05", "2023-02-24"], "2390.TW": ["\u4e91\u8fb0", 12.899999618530273, "2000-01-05", "2023-02-24"], "2392.TW": ["\u6b63\u5d34", 39.900001525878906, "2000-01-05", "2023-02-24"], "2393.TW": ["\u5104\u5149", 38.5, "2000-01-05", "2023-02-24"], "2395.TW": ["\u7814\u83ef", 357.0, "2000-01-05", "2023-02-24"], "2397.TW": ["\u53cb\u901a", 65.30000305175781, "2000-01-18", "2023-02-24"], "2399.TW": ["\u6620\u6cf0", 15.75, "2000-01-05", "2023-02-24"], "2401.TW": ["\u51cc\u967d", 26.100000381469727, "2000-01-05", "2023-02-24"], "2402.TW": ["\u6bc5\u5609", 19.100000381469727, "2000-01-18", "2023-02-24"], "2404.TW": ["\u6f22\u5510", 225.5, "2000-01-05", "2023-02-24"], "2405.TW": ["\u6d69\u946b", 12.600000381469727, "2000-01-05", "2023-02-24"], "2406.TW": ["\u570b\u78a9", 19.700000762939453, "2000-05-03", "2023-02-24"], "2408.TW": ["\u5357\u4e9e\u79d1", 58.400001525878906, "2000-08-21", "2023-02-24"], "2409.TW": ["\u53cb\u9054", 18.600000381469727, "2000-09-12", "2023-02-24"], "2412.TW": ["\u4e2d\u83ef\u96fb", 115.5, "2000-11-16", "2023-02-24"], "2413.TW": ["\u74b0\u79d1", 28.350000381469727, "2000-01-05", "2023-02-24"], "2414.TW": ["\u7cbe\u6280", 32.400001525878906, "2000-01-05", "2023-02-24"], "2415.TW": ["\u9329\u65b0", 25.100000381469727, "2000-01-05", "2023-02-24"], "2417.TW": ["\u5713\u525b", 23.799999237060547, "2000-01-05", "2023-02-24"], "2419.TW": ["\u4ef2\u7426", 27.25, "2000-01-05", "2023-02-24"], "2420.TW": ["\u65b0\u5de8", 42.5, "2000-01-05", "2023-02-24"], "2421.TW": ["\u5efa\u6e96", 43.400001525878906, "2000-01-05", "2023-02-24"], "2423.TW": ["\u56fa\u7def", 29.149999618530273, "2000-01-05", "2023-02-24"], "2424.TW": ["\u96b4\u83ef", 21.200000762939453, "2000-01-05", "2023-02-24"], "2425.TW": ["\u627f\u555f", 35.400001525878906, "2000-01-05", "2023-02-24"], "2426.TW": ["\u9f0e\u5143", 17.850000381469727, "2000-01-05", "2023-02-24"], "2427.TW": ["\u4e09\u5546\u96fb", 12.949999809265137, "2000-01-05", "2023-02-24"], "2428.TW": ["\u8208\u52e4", 142.0, "2000-01-05", "2023-02-24"], "2429.TW": ["\u9298\u65fa\u79d1", 10.300000190734863, "2000-01-05", "2023-02-24"], "2430.TW": ["\u71e6\u5764", 48.0, "2000-01-05", "2023-02-24"], "2431.TW": ["\u806f\u660c", 10.199999809265137, "2000-01-05", "2023-02-24"], "2433.TW": ["\u4e92\u76db\u96fb", 49.54999923706055, "2000-01-05", "2023-02-24"], "2434.TW": ["\u7d71\u61cb", 27.700000762939453, "2000-01-05", "2023-02-24"], "2436.TW": ["\u5049\u8a6e\u96fb", 50.599998474121094, "2000-01-05", "2023-02-24"], "2438.TW": ["\u7fd4\u8000", 14.149999618530273, "2000-01-05", "2023-02-24"], "2439.TW": ["\u7f8e\u5f8b", 85.19999694824219, "2000-01-05", "2023-02-24"], "2440.TW": ["\u592a\u7a7a\u68ad", 12.050000190734863, "2000-11-14", "2023-02-24"], "2441.TW": ["\u8d85\u8c50", 53.20000076293945, "2000-10-31", "2023-02-24"], "2442.TW": ["\u65b0\u7f8e\u9f4a", 13.350000381469727, "2000-11-28", "2023-02-24"], "2443.TW": ["\u5104\u9e97", 2.9000000953674316, "2001-01-08", "2023-02-24"], "2444.TW": ["\u5146\u52c1", 16.899999618530273, "2000-12-12", "2023-02-24"], "2449.TW": ["\u4eac\u5143\u96fb\u5b50", 41.849998474121094, "2001-05-11", "2023-02-24"], "2450.TW": ["\u795e\u8166", 33.5, "2001-05-28", "2023-02-24"], "2451.TW": ["\u5275\u898b", 70.30000305175781, "2001-05-07", "2023-02-24"], "2453.TW": ["\u51cc\u7fa4", 45.400001525878906, "2001-05-23", "2023-02-24"], "2454.TW": ["\u806f\u767c\u79d1", 723.0, "2001-07-24", "2023-02-24"], "2455.TW": ["\u5168\u65b0", 84.5, "2002-01-28", "2023-02-24"], "2457.TW": ["\u98db\u5b8f", 45.45000076293945, "2000-02-17", "2023-02-24"], "2458.TW": ["\u7fa9\u9686", 108.5, "2000-04-14", "2023-02-24"], "2459.TW": ["\u6566\u5409", 56.5, "2000-01-05", "2023-02-24"], "2460.TW": ["\u5efa\u901a", 18.549999237060547, "2000-01-21", "2023-02-24"], "2461.TW": ["\u5149\u7fa4\u96f7", 20.399999618530273, "2000-01-05", "2023-02-24"], "2462.TW": ["\u826f\u5f97\u96fb", 32.349998474121094, "2000-01-05", "2023-02-24"], "2464.TW": ["\u76df\u7acb", 39.150001525878906, "2000-01-05", "2023-02-24"], "2465.TW": ["\u9e97\u81fa", 41.54999923706055, "2000-01-05", "2023-02-24"], "2466.TW": ["\u51a0\u897f\u96fb", 34.75, "2000-01-18", "2023-02-24"], "2467.TW": ["\u5fd7\u8056", 46.650001525878906, "2000-01-05", "2023-02-24"], "2468.TW": ["\u83ef\u7d93", 27.450000762939453, "2000-01-05", "2023-02-24"], "2471.TW": ["\u8cc7\u901a", 39.349998474121094, "2000-01-05", "2023-02-24"], "2472.TW": ["\u7acb\u9686\u96fb", 63.599998474121094, "2000-05-18", "2023-02-24"], "2474.TW": ["\u53ef\u6210", 184.5, "2000-01-05", "2023-02-24"], "2476.TW": ["\u9245\u7965", 49.04999923706055, "2000-01-05", "2023-02-24"], "2477.TW": ["\u7f8e\u9686\u96fb", 21.350000381469727, "2000-02-25", "2023-02-24"], "2478.TW": ["\u5927\u6bc5", 48.45000076293945, "2000-01-05", "2023-02-24"], "2480.TW": ["\u6566\u967d\u79d1", 93.30000305175781, "2000-01-06", "2023-02-24"], "2481.TW": ["\u5f37\u8302", 66.80000305175781, "2000-01-05", "2023-02-24"], "2482.TW": ["\u9023\u5b87", 47.849998474121094, "2000-01-05", "2023-02-24"], "2483.TW": ["\u767e\u5bb9", 26.049999237060547, "2000-01-05", "2023-02-24"], "2484.TW": ["\u5e0c\u83ef", 38.75, "2000-01-05", "2023-02-24"], "2485.TW": ["\u5146\u8d6b", 18.0, "2000-01-05", "2023-02-24"], "2486.TW": ["\u4e00\u8a6e", 23.450000762939453, "2000-03-23", "2023-02-24"], "2488.TW": ["\u6f22\u5e73", 30.149999618530273, "2001-09-21", "2023-02-24"], "2489.TW": ["\u745e\u8ed2", 10.699999809265137, "2000-01-05", "2023-02-24"], "2491.TW": ["\u5409\u7965\u5168", 12.050000190734863, "2000-02-23", "2023-02-24"], "2492.TW": ["\u83ef\u65b0\u79d1", 100.5, "2000-01-05", "2023-02-24"], "2493.TW": ["\u63da\u535a", 51.400001525878906, "2002-01-25", "2023-02-24"], "2495.TW": ["\u666e\u5b89", 19.100000381469727, "2002-03-27", "2023-02-24"], "2496.TW": ["\u5353\u8d8a", 51.599998474121094, "2002-03-12", "2023-02-24"], "2497.TW": ["\u6021\u5229\u96fb", 76.19999694824219, "2002-02-06", "2023-02-24"], "2498.TW": ["\u5b8f\u9054\u96fb", 65.4000015258789, "2002-03-27", "2023-02-24"], "2501.TW": ["\u570b\u5efa", 17.299999237060547, "2000-01-05", "2023-02-24"], "2504.TW": ["\u570b\u7522", 27.700000762939453, "2000-01-05", "2023-02-24"], "2505.TW": ["\u570b\u63da", 19.200000762939453, "2000-01-05", "2023-02-24"], "2506.TW": ["\u592a\u8a2d", 9.510000228881836, "2000-01-05", "2023-02-24"], "2509.TW": ["\u5168\u5764\u5efa", 15.800000190734863, "2000-01-05", "2023-02-24"], "2511.TW": ["\u592a\u5b50", 11.5, "2000-01-05", "2023-02-24"], "2514.TW": ["\u9f8d\u90a6", 17.200000762939453, "2000-01-05", "2023-02-24"], "2515.TW": ["\u4e2d\u5de5", 8.8100004196167, "2000-01-05", "2023-02-24"], "2516.TW": ["\u65b0\u5efa", 5.110000133514404, "2000-01-05", "2023-02-24"], "2520.TW": ["\u51a0\u5fb7", 29.049999237060547, "2000-01-05", "2023-02-24"], "2524.TW": ["\u4eac\u57ce", 33.04999923706055, "2000-01-05", "2023-02-24"], "2527.TW": ["\u5b8f\u749f", 21.799999237060547, "2000-01-05", "2023-02-24"], "2528.TW": ["\u7687\u666e", 17.700000762939453, "2000-01-21", "2023-02-24"], "2530.TW": ["\u83ef\u5efa", 17.600000381469727, "2000-01-05", "2023-02-24"], "2534.TW": ["\u5b8f\u76db", 23.399999618530273, "2000-01-05", "2023-02-24"], "2535.TW": ["\u9054\u6b23\u5de5", 31.700000762939453, "2000-01-05", "2023-02-24"], "2536.TW": ["\u5b8f\u666e", 22.600000381469727, "2000-01-05", "2023-02-24"], "2537.TW": ["\u806f\u4e0a\u767c", 7.21999979019165, "2000-01-05", "2023-02-24"], "2538.TW": ["\u57fa\u6cf0", 13.149999618530273, "2000-01-05", "2023-02-24"], "2539.TW": ["\u6afb\u82b1\u5efa", 34.75, "2000-01-05", "2023-02-24"], "2540.TW": ["\u611b\u5c71\u6797", 76.80000305175781, "2000-01-05", "2023-02-24"], "2542.TW": ["\u8208\u5bcc\u767c", 42.400001525878906, "2000-01-05", "2023-02-24"], "2543.TW": ["\u7687\u660c", 9.270000457763672, "2000-01-05", "2023-02-24"], "2545.TW": ["\u7687\u7fd4", 44.45000076293945, "2000-01-05", "2023-02-24"], "2546.TW": ["\u6839\u57fa", 56.70000076293945, "2000-01-05", "2023-02-24"], "2547.TW": ["\u65e5\u52dd\u751f", 9.609999656677246, "2000-12-28", "2023-02-24"], "2548.TW": ["\u83ef\u56fa", 92.30000305175781, "2002-08-28", "2023-02-24"], "2597.TW": ["\u6f64\u5f18", 122.5, "2010-03-29", "2023-02-24"], "2601.TW": ["\u76ca\u822a", 10.0, "2000-01-05", "2023-02-24"], "2603.TW": ["\u9577\u69ae", 157.0, "2000-01-05", "2023-02-24"], "2605.TW": ["\u65b0\u8208", 25.700000762939453, "2000-01-05", "2023-02-24"], "2606.TW": ["\u88d5\u6c11", 61.0, "2000-01-05", "2023-02-24"], "2607.TW": ["\u69ae\u904b", 28.0, "2000-01-05", "2023-02-24"], "2608.TW": ["\u5609\u91cc\u5927\u69ae", 38.20000076293945, "2000-01-05", "2023-02-24"], "2609.TW": ["\u967d\u660e", 64.5999984741211, "2000-01-05", "2023-02-24"], "2610.TW": ["\u83ef\u822a", 20.299999237060547, "2000-01-05", "2023-02-24"], "2611.TW": ["\u5fd7\u4fe1", 15.050000190734863, "2000-01-05", "2023-02-24"], "2612.TW": ["\u4e2d\u822a", 43.0, "2000-01-05", "2023-02-24"], "2613.TW": ["\u4e2d\u6ac3", 24.149999618530273, "2000-01-05", "2023-02-24"], "2614.TW": ["\u6771\u68ee", 23.25, "2000-01-05", "2023-02-24"], "2615.TW": ["\u842c\u6d77", 79.5999984741211, "2000-01-05", "2023-02-24"], "2616.TW": ["\u5c71\u9686", 31.149999618530273, "2000-01-05", "2023-02-24"], "2617.TW": ["\u53f0\u822a", 30.0, "2000-01-05", "2023-02-24"], "2618.TW": ["\u9577\u69ae\u822a", 28.299999237060547, "2000-01-05", "2023-02-24"], "2630.TW": ["\u4e9e\u822a", 17.600000381469727, "2017-03-01", "2023-02-24"], "2633.TW": ["\u53f0\u7063\u9ad8\u9435", 29.399999618530273, "2008-01-02", "2023-02-24"], "2634.TW": ["\u6f22\u7fd4", 38.5, "2014-10-24", "2023-02-24"], "2636.TW": ["\u53f0\u9a4a\u6295\u63a7", 69.0, "2008-01-02", "2023-02-24"], "2637.TW": ["\u6167\u6d0b-KY", 68.0, "2010-12-02", "2023-02-24"], "2642.TW": ["\u5b85\u914d\u901a", 48.95000076293945, "2013-03-13", "2023-02-24"], "2701.TW": ["\u842c\u4f01", 13.25, "2000-01-05", "2023-02-24"], "2702.TW": ["\u83ef\u5712", 26.899999618530273, "2000-01-05", "2023-02-24"], "2704.TW": ["\u570b\u8cd3", 38.400001525878906, "2000-01-05", "2023-02-24"], "2705.TW": ["\u516d\u798f", 18.799999237060547, "2000-01-05", "2023-02-24"], "2706.TW": ["\u7b2c\u4e00\u5e97", 15.25, "2000-01-05", "2023-02-24"], "2707.TW": ["\u6676\u83ef", 312.5, "2000-01-05", "2023-02-24"], "2712.TW": ["\u9060\u96c4\u4f86", 37.900001525878906, "2013-03-13", "2023-02-24"], "2722.TW": ["\u590f\u90fd", 47.400001525878906, "2012-03-15", "2023-02-24"], "2723.TW": ["\u7f8e\u98df-KY", 158.0, "2010-11-23", "2023-02-24"], "2727.TW": ["\u738b\u54c1", 278.5, "2012-03-07", "2023-02-24"], "2731.TW": ["\u96c4\u7345", 127.5, "2012-11-02", "2023-02-24"], "2739.TW": ["\u5bd2\u820d", 54.0, "2014-10-21", "2023-02-24"], "2748.TW": ["\u96f2\u54c1", 98.19999694824219, "2015-11-03", "2023-02-24"], "2801.TW": ["\u5f70\u9280", 17.450000762939453, "2000-01-05", "2023-02-24"], "2809.TW": ["\u4eac\u57ce\u9280", 34.099998474121094, "2000-01-05", "2023-02-24"], "2812.TW": ["\u53f0\u4e2d\u9280", 13.75, "2000-01-05", "2023-02-24"], "2816.TW": ["\u65fa\u65fa\u4fdd", 16.700000762939453, "2000-01-05", "2023-02-24"], "2820.TW": ["\u83ef\u7968", 15.550000190734863, "2000-01-05", "2023-02-24"], "2832.TW": ["\u53f0\u7522", 20.799999237060547, "2000-01-05", "2023-02-24"], "2834.TW": ["\u81fa\u4f01\u9280", 14.399999618530273, "2000-01-05", "2023-02-24"], "2836.TW": ["\u9ad8\u96c4\u9280", 12.550000190734863, "2000-01-05", "2023-02-24"], "2838.TW": ["\u806f\u90a6\u9280", 16.25, "2000-01-05", "2023-02-24"], "2845.TW": ["\u9060\u6771\u9280", 11.850000381469727, "2000-01-05", "2023-02-24"], "2849.TW": ["\u5b89\u6cf0\u9280", 14.850000381469727, "2000-01-05", "2023-02-24"], "2850.TW": ["\u65b0\u7522", 50.599998474121094, "2000-05-24", "2023-02-24"], "2851.TW": ["\u4e2d\u518d\u4fdd", 18.549999237060547, "2000-07-11", "2023-02-24"], "2852.TW": ["\u7b2c\u4e00\u4fdd", 17.0, "2000-12-01", "2023-02-24"], "2855.TW": ["\u7d71\u4e00\u8b49", 17.200000762939453, "2000-01-05", "2023-02-24"], "2867.TW": ["\u4e09\u5546\u58fd", 5.389999866485596, "2012-10-04", "2023-02-24"], "2880.TW": ["\u83ef\u5357\u91d1", 22.850000381469727, "2001-12-21", "2023-02-24"], "2881.TW": ["\u5bcc\u90a6\u91d1", 60.0, "2001-12-21", "2023-02-24"], "2882.TW": ["\u570b\u6cf0\u91d1", 43.45000076293945, "2000-01-05", "2023-02-24"], "2883.TW": ["\u958b\u767c\u91d1", 13.199999809265137, "2002-01-01", "2023-02-24"], "2884.TW": ["\u7389\u5c71\u91d1", 24.950000762939453, "2002-01-30", "2023-02-24"], "2885.TW": ["\u5143\u5927\u91d1", 22.75, "2000-01-05", "2023-02-24"], "2886.TW": ["\u5146\u8c50\u91d1", 33.29999923706055, "2000-01-05", "2023-02-24"], "2887.TW": ["\u53f0\u65b0\u91d1", 16.450000762939453, "2002-02-20", "2023-02-24"], "2888.TW": ["\u65b0\u5149\u91d1", 8.890000343322754, "2002-02-21", "2023-02-24"], "2889.TW": ["\u570b\u7968\u91d1", 12.600000381469727, "2002-03-27", "2023-02-24"], "2890.TW": ["\u6c38\u8c50\u91d1", 17.200000762939453, "2000-01-05", "2023-02-24"], "2891.TW": ["\u4e2d\u4fe1\u91d1", 22.75, "2002-05-20", "2023-02-24"], "2892.TW": ["\u7b2c\u4e00\u91d1", 26.799999237060547, "2003-01-06", "2023-02-24"], "2897.TW": ["\u738b\u9053\u9280\u884c", 9.710000038146973, "2008-01-02", "2023-02-24"], "2901.TW": ["\u6b23\u6b23", 25.600000381469727, "2000-01-05", "2023-02-24"], "2903.TW": ["\u9060\u767e", 22.5, "2000-01-05", "2023-02-24"], "2904.TW": ["\u532f\u50d1", 21.600000381469727, "2000-01-05", "2023-02-24"], "2905.TW": ["\u4e09\u5546", 16.850000381469727, "2000-01-05", "2023-02-24"], "2906.TW": ["\u9ad8\u6797", 18.5, "2000-01-05", "2023-02-24"], "2908.TW": ["\u7279\u529b", 20.149999618530273, "2000-01-05", "2023-02-24"], "2910.TW": ["\u7d71\u9818", 30.200000762939453, "2000-01-05", "2023-02-24"], "2911.TW": ["\u9e97\u5b30\u623f", 7.420000076293945, "2000-01-05", "2023-02-24"], "2912.TW": ["\u7d71\u4e00\u8d85", 267.0, "2000-01-05", "2023-02-24"], "2913.TW": ["\u8fb2\u6797", 21.950000762939453, "2000-01-05", "2023-02-24"], "2915.TW": ["\u6f64\u6cf0\u5168", 67.5999984741211, "2000-01-05", "2023-02-24"], "2923.TW": ["\u9f0e\u56fa-KY", 24.600000381469727, "2012-12-10", "2023-02-24"], "2929.TW": ["\u6dd8\u5e1d-KY", 16.25, "2013-12-31", "2023-02-24"], "2939.TW": ["\u51f1\u7fbf-KY", 32.849998474121094, "2017-08-09", "2023-02-24"], "3002.TW": ["\u6b50\u683c", 11.949999809265137, "2002-01-25", "2023-02-24"], "3003.TW": ["\u5065\u548c\u8208", 71.80000305175781, "2002-02-21", "2023-02-24"], "3004.TW": ["\u8c50\u9054\u79d1", 86.5, "2002-02-27", "2023-02-24"], "3005.TW": ["\u795e\u57fa", 49.20000076293945, "2002-02-27", "2023-02-24"], "3006.TW": ["\u6676\u8c6a\u79d1", 78.9000015258789, "2002-03-06", "2023-02-24"], "3008.TW": ["\u5927\u7acb\u5149", 2205.0, "2002-03-12", "2023-02-24"], "3010.TW": ["\u83ef\u7acb", 87.5999984741211, "2002-07-24", "2023-02-24"], "3011.TW": ["\u4eca\u7693", 20.299999237060547, "2002-07-24", "2023-02-24"], "3013.TW": ["\u665f\u9298\u96fb", 20.75, "2002-09-18", "2023-02-24"], "3014.TW": ["\u806f\u967d", 88.9000015258789, "2002-10-31", "2023-02-24"], "3015.TW": ["\u5168\u6f22", 42.45000076293945, "2002-10-18", "2023-02-24"], "3016.TW": ["\u5609\u6676", 75.5999984741211, "2002-12-26", "2023-02-24"], "3017.TW": ["\u5947\u92d0", 120.5, "2002-10-01", "2023-02-24"], "3018.TW": ["\u540c\u958b", 7.380000114440918, "2002-08-28", "2023-02-24"], "3019.TW": ["\u4e9e\u5149", 65.0999984741211, "2002-08-28", "2023-02-24"], "3021.TW": ["\u9d3b\u540d", 21.799999237060547, "2002-08-28", "2023-02-24"], "3022.TW": ["\u5a01\u5f37\u96fb", 81.80000305175781, "2002-08-28", "2023-02-24"], "3023.TW": ["\u4fe1\u90a6", 298.0, "2002-08-28", "2023-02-24"], "3024.TW": ["\u61b6\u8072", 13.850000381469727, "2000-01-05", "2023-02-24"], "3025.TW": ["\u661f\u901a", 21.350000381469727, "2002-08-28", "2023-02-24"], "3026.TW": ["\u79be\u4f38\u5802", 96.19999694824219, "2000-01-17", "2023-02-24"], "3027.TW": ["\u76db\u9054", 42.900001525878906, "2000-01-21", "2023-02-24"], "3028.TW": ["\u589e\u4f60\u5f37", 29.850000381469727, "2002-08-28", "2023-02-24"], "3029.TW": ["\u96f6\u58f9", 48.650001525878906, "2000-01-25", "2023-02-24"], "3030.TW": ["\u5fb7\u5f8b", 63.5, "2002-10-31", "2023-02-24"], "3031.TW": ["\u4f70\u9d3b", 16.5, "2002-08-28", "2023-02-24"], "3032.TW": ["\u5049\u8a13", 33.54999923706055, "2002-08-28", "2023-02-24"], "3033.TW": ["\u5a01\u5065", 27.850000381469727, "2002-08-28", "2023-02-24"], "3034.TW": ["\u806f\u8a60", 407.5, "2002-08-28", "2023-02-24"], "3035.TW": ["\u667a\u539f", 185.5, "2000-01-05", "2023-02-24"], "3036.TW": ["\u6587\u66c4", 65.0, "2002-08-28", "2023-02-24"], "3037.TW": ["\u6b23\u8208", 128.0, "2000-01-05", "2023-02-24"], "3038.TW": ["\u5168\u53f0", 22.399999618530273, "2002-08-28", "2023-02-24"], "3040.TW": ["\u9060\u898b", 32.04999923706055, "2002-08-28", "2023-02-24"], "3041.TW": ["\u63da\u667a", 21.950000762939453, "2000-01-05", "2023-02-24"], "3042.TW": ["\u6676\u6280", 86.19999694824219, "2002-08-28", "2023-02-24"], "3043.TW": ["\u79d1\u98a8", 29.0, "2002-08-28", "2023-02-24"], "3044.TW": ["\u5065\u9f0e", 105.0, "2002-08-28", "2023-02-24"], "3045.TW": ["\u53f0\u7063\u5927", 96.5999984741211, "2002-08-28", "2023-02-24"], "3046.TW": ["\u5efa\u7881", 52.5, "2002-08-28", "2023-02-24"], "3047.TW": ["\u8a0a\u821f", 15.5, "2002-08-28", "2023-02-24"], "3048.TW": ["\u76ca\u767b", 28.75, "2002-10-03", "2023-02-24"], "3049.TW": ["\u548c\u946b", 10.149999618530273, "2002-10-01", "2023-02-24"], "3050.TW": ["\u923a\u5fb7", 17.299999237060547, "2002-10-31", "2023-02-24"], "3051.TW": ["\u529b\u7279", 19.100000381469727, "2002-10-30", "2023-02-24"], "3052.TW": ["\u5906\u5178", 10.949999809265137, "2000-01-05", "2023-02-24"], "3054.TW": ["\u7acb\u842c\u5229", 19.0, "2002-11-20", "2023-02-24"], "3055.TW": ["\u851a\u83ef\u79d1", 32.25, "2002-12-16", "2023-02-24"], "3056.TW": ["\u7e3d\u592a", 33.29999923706055, "2003-03-04", "2023-02-24"], "3057.TW": ["\u55ac\u9f0e", 11.350000381469727, "2002-12-20", "2023-02-24"], "3058.TW": ["\u7acb\u5fb7", 14.800000190734863, "2002-12-11", "2023-02-24"], "3059.TW": ["\u83ef\u6676\u79d1", 34.5, "2002-12-25", "2023-02-24"], "3060.TW": ["\u9298\u7570", 17.799999237060547, "2003-04-22", "2023-02-24"], "3062.TW": ["\u5efa\u6f22", 24.049999237060547, "2003-07-29", "2023-02-24"], "3090.TW": ["\u65e5\u96fb\u8cbf", 56.400001525878906, "2008-01-02", "2023-02-24"], "3094.TW": ["\u806f\u5091", 33.45000076293945, "2007-08-07", "2023-02-24"], "3130.TW": ["\u4e00\u96f6\u56db", 203.5, "2006-02-20", "2023-02-24"], "3149.TW": ["\u6b63\u9054", 18.700000762939453, "2008-01-02", "2023-02-24"], "3164.TW": ["\u666f\u5cb3", 24.350000381469727, "2008-09-22", "2023-02-24"], "3167.TW": ["\u5927\u91cf", 45.349998474121094, "2008-01-02", "2023-02-24"], "3189.TW": ["\u666f\u78a9", 108.5, "2004-11-02", "2023-02-24"], "3209.TW": ["\u5168\u79d1", 43.70000076293945, "2008-11-27", "2023-02-24"], "3229.TW": ["\u665f\u9226", 19.700000762939453, "2010-01-04", "2023-02-24"], "3231.TW": ["\u7def\u5275", 33.150001525878906, "2003-08-20", "2023-02-24"], "3257.TW": ["\u8679\u51a0\u96fb", 47.599998474121094, "2011-03-23", "2023-02-24"], "3266.TW": ["\u6607\u967d", 12.149999618530273, "2008-01-02", "2023-02-24"], "3296.TW": ["\u52dd\u5fb7", 17.600000381469727, "2008-01-02", "2023-02-24"], "3305.TW": ["\u6607\u8cbf", 48.650001525878906, "2008-07-11", "2023-02-24"], "3308.TW": ["\u806f\u5fb7", 15.149999618530273, "2008-03-13", "2023-02-24"], "3311.TW": ["\u958e\u6689", 34.45000076293945, "2004-03-09", "2023-02-24"], "3312.TW": ["\u5f18\u61b6\u80a1", 18.399999618530273, "2011-12-30", "2023-02-24"], "3321.TW": ["\u540c\u6cf0", 8.359999656677246, "2008-01-02", "2023-02-24"], "3338.TW": ["\u6cf0\u78a9", 35.54999923706055, "2007-12-31", "2023-02-24"], "3346.TW": ["\u9e97\u6e05", 38.400001525878906, "2012-12-06", "2023-02-24"], "3356.TW": ["\u5947\u5076", 39.29999923706055, "2005-03-29", "2023-02-24"], "3376.TW": ["\u65b0\u65e5\u8208", 89.0, "2008-01-02", "2023-02-24"], "3380.TW": ["\u660e\u6cf0", 32.5, "2004-12-21", "2023-02-24"], "3406.TW": ["\u7389\u6676\u5149", 389.0, "2005-12-21", "2023-02-24"], "3413.TW": ["\u4eac\u9f0e", 207.5, "2008-01-02", "2023-02-24"], "3416.TW": ["\u878d\u7a0b\u96fb", 95.5, "2008-01-02", "2023-02-24"], "3419.TW": ["\u8b41\u88d5", 19.649999618530273, "2008-01-22", "2023-02-24"], "3432.TW": ["\u53f0\u7aef", 18.899999618530273, "2011-02-09", "2023-02-24"], "3437.TW": ["\u69ae\u5275", 19.0, "2008-01-02", "2023-02-24"], "3443.TW": ["\u5275\u610f", 1160.0, "2006-11-06", "2023-02-24"], "3450.TW": ["\u806f\u921e", 40.70000076293945, "2006-04-13", "2023-02-24"], "3454.TW": ["\u6676\u777f", 232.5, "2008-01-02", "2023-02-24"], "3481.TW": ["\u7fa4\u5275", 14.699999809265137, "2006-10-25", "2023-02-24"], "3494.TW": ["\u8aa0\u7814", 11.25, "2007-12-14", "2023-02-24"], "3501.TW": ["\u7dad\u71b9", 50.900001525878906, "2007-09-21", "2023-02-24"], "3504.TW": ["\u63da\u660e\u5149", 83.0999984741211, "2007-01-29", "2023-02-24"], "3515.TW": ["\u83ef\u64ce", 158.5, "2007-11-09", "2023-02-24"], "3518.TW": ["\u67cf\u9a30", 21.5, "2007-11-29", "2023-02-24"], "3528.TW": ["\u5b89\u99b3", 54.599998474121094, "2008-01-28", "2023-02-24"], "3530.TW": ["\u6676\u76f8\u5149", 85.9000015258789, "2008-01-02", "2023-02-24"], "3532.TW": ["\u53f0\u52dd\u79d1", 151.0, "2007-12-11", "2023-02-24"], "3533.TW": ["\u5609\u6fa4", 861.0, "2007-12-11", "2023-02-24"], "3535.TW": ["\u6676\u5f69\u79d1", 24.299999237060547, "2008-02-01", "2023-02-24"], "3536.TW": ["\u8aa0\u5275", 4.159999847412109, "2008-05-02", "2023-02-24"], "3543.TW": ["\u5dde\u5de7", 20.149999618530273, "2008-01-02", "2023-02-24"], "3545.TW": ["\u6566\u6cf0", 71.9000015258789, "2007-07-04", "2023-02-24"], "3550.TW": ["\u806f\u7a4e", 14.75, "2008-01-02", "2023-02-24"], "3557.TW": ["\u5609\u5a01", 63.0, "2008-02-29", "2023-02-24"], "3563.TW": ["\u7267\u5fb7", 170.5, "2007-12-31", "2023-02-24"], "3576.TW": ["\u806f\u5408\u518d\u751f", 20.75, "2009-01-13", "2023-02-24"], "3583.TW": ["\u8f9b\u8018", 76.5, "2012-10-08", "2023-02-24"], "3588.TW": ["\u901a\u5609", 63.20000076293945, "2008-01-02", "2023-02-24"], "3591.TW": ["\u827e\u7b1b\u68ee", 21.25, "2007-12-17", "2023-02-24"], "3593.TW": ["\u529b\u9298", 12.100000381469727, "2008-01-02", "2023-02-24"], "3596.TW": ["\u667a\u6613", 106.5, "2009-03-12", "2023-02-24"], "3605.TW": ["\u5b8f\u81f4", 34.400001525878906, "2009-03-27", "2023-02-24"], "3607.TW": ["\u8c37\u5d27", 12.300000190734863, "2008-01-29", "2023-02-24"], "3617.TW": ["\u78a9\u5929", 124.0, "2009-12-24", "2023-02-24"], "3622.TW": ["\u6d0b\u83ef", 28.649999618530273, "2009-06-12", "2023-02-24"], "3645.TW": ["\u9054\u9081", 34.099998474121094, "2011-10-06", "2023-02-24"], "3653.TW": ["\u5065\u7b56", 425.0, "2009-11-19", "2023-02-24"], "3661.TW": ["\u4e16\u82af-KY", 944.0, "2012-10-08", "2023-02-24"], "3665.TW": ["\u8cbf\u806f-KY", 277.0, "2011-04-22", "2023-02-24"], "3669.TW": ["\u5713\u5c55", 44.95000076293945, "2011-08-26", "2023-02-24"], "3673.TW": ["TPK-KY", 34.20000076293945, "2011-03-30", "2023-02-24"], "3679.TW": ["\u65b0\u81f3\u965e", 96.5, "2011-10-06", "2023-02-24"], "3682.TW": ["\u4e9e\u592a\u96fb", 6.210000038146973, "2012-10-04", "2023-02-24"], "3686.TW": ["\u9054\u80fd", 15.050000190734863, "2010-07-21", "2023-02-24"], "3694.TW": ["\u6d77\u83ef", 20.399999618530273, "2011-05-04", "2023-02-24"], "3701.TW": ["\u5927\u773e\u63a7", 44.0, "2004-09-01", "2023-02-24"], "3702.TW": ["\u5927\u806f\u5927", 49.29999923706055, "2000-01-05", "2023-02-24"], "3703.TW": ["\u6b23\u9678", 31.200000762939453, "2010-04-09", "2023-02-24"], "3704.TW": ["\u5408\u52e4\u63a7", 39.150001525878906, "2000-01-05", "2023-02-24"], "3705.TW": ["\u6c38\u4fe1", 43.04999923706055, "2000-01-05", "2023-02-24"], "3706.TW": ["\u795e\u9054", 31.600000381469727, "2000-01-05", "2023-02-24"], "3708.TW": ["\u4e0a\u7def\u6295\u63a7", 109.5, "2007-12-31", "2023-02-24"], "3711.TW": ["\u65e5\u6708\u5149\u6295\u63a7", 106.0, "2000-01-05", "2023-02-24"], "3712.TW": ["\u6c38\u5d34\u6295\u63a7", 30.799999237060547, "2018-10-02", "2023-02-24"], "4104.TW": ["\u4f73\u91ab", 77.9000015258789, "2007-12-31", "2023-02-24"], "4106.TW": ["\u96c3\u535a", 31.25, "2004-11-09", "2023-02-24"], "4108.TW": ["\u61f7\u7279", 19.450000762939453, "2008-07-17", "2023-02-24"], "4119.TW": ["\u65ed\u5bcc", 108.0, "2004-01-08", "2023-02-24"], "4133.TW": ["\u4e9e\u8afe\u6cd5", 37.5, "2009-12-29", "2023-02-24"], "4137.TW": ["\u9e97\u8c50-KY", 214.0, "2013-11-28", "2023-02-24"], "4142.TW": ["\u570b\u5149\u751f", 40.599998474121094, "2012-05-04", "2023-02-24"], "4148.TW": ["\u5168\u5b87\u751f\u6280-KY", 67.19999694824219, "2017-06-12", "2023-02-24"], "4155.TW": ["\u8a0a\u6620", 33.04999923706055, "2012-06-21", "2023-02-24"], "4164.TW": ["\u627f\u696d\u91ab", 60.0, "2012-10-04", "2023-02-24"], "4190.TW": ["\u4f50\u767b-KY", 82.30000305175781, "2015-10-22", "2023-02-24"], "4306.TW": ["\u708e\u6d32", 14.75, "2000-04-20", "2023-02-24"], "4414.TW": ["\u5982\u8208", 2.9200000762939453, "2000-01-05", "2023-02-24"], "4426.TW": ["\u5229\u52e4", 26.049999237060547, "2008-01-02", "2023-02-24"], "4438.TW": ["\u5ee3\u8d8a", 122.0, "2015-07-31", "2023-02-24"], "4439.TW": ["\u51a0\u661f-KY", 112.0, "2019-12-06", "2023-02-24"], "4526.TW": ["\u6771\u53f0", 16.649999618530273, "2003-09-16", "2023-02-24"], "4532.TW": ["\u745e\u667a", 17.350000381469727, "2003-08-05", "2023-02-24"], "4536.TW": ["\u62d3\u51f1", 221.5, "2012-10-04", "2023-02-24"], "4540.TW": ["\u5168\u7403\u50b3\u52d5", 41.400001525878906, "2014-11-20", "2023-02-24"], "4545.TW": ["\u9298\u923a", 31.899999618530273, "2013-04-23", "2023-02-24"], "4551.TW": ["\u667a\u4f38\u79d1", 149.5, "2014-01-09", "2023-02-24"], "4552.TW": ["\u529b\u9054-KY", 30.149999618530273, "2016-07-21", "2023-02-24"], "4555.TW": ["\u6c23\u7acb", 49.79999923706055, "2014-09-19", "2023-02-24"], "4557.TW": ["\u6c38\u65b0-KY", 116.5, "2015-10-14", "2023-02-24"], "4560.TW": ["\u5f37\u4fe1-KY", 39.0, "2016-12-14", "2023-02-24"], "4562.TW": ["\u7a4e\u6f22", 15.75, "2015-11-23", "2023-02-24"], "4564.TW": ["\u5143\u7fce", 26.100000381469727, "2017-01-23", "2023-02-24"], "4566.TW": ["\u6642\u78a9\u5de5\u696d", 55.29999923706055, "2017-03-01", "2023-02-24"], "4571.TW": ["\u921e\u8208-KY", 72.5999984741211, "2019-09-18", "2023-02-24"], "4572.TW": ["\u99d0\u9f8d", 134.5, "2018-06-28", "2023-02-24"], "4576.TW": ["\u5927\u9280\u5fae\u7cfb\u7d71", 79.19999694824219, "2018-10-30", "2023-02-24"], "4581.TW": ["\u5149\u9686\u7cbe\u5bc6-KY", 41.0, "2020-03-10", "2023-02-24"], "4720.TW": ["\u5fb7\u6df5", 14.850000381469727, "2008-01-02", "2023-02-24"], "4722.TW": ["\u570b\u7cbe\u5316", 35.099998474121094, "2008-01-02", "2023-02-24"], "4737.TW": ["\u83ef\u5ee3", 78.5999984741211, "2010-12-24", "2023-02-24"], "4739.TW": ["\u5eb7\u666e", 101.5, "2011-12-02", "2023-02-24"], "4746.TW": ["\u53f0\u8000", 71.9000015258789, "2011-03-02", "2023-02-24"], "4755.TW": ["\u4e09\u798f\u5316", 131.0, "2013-03-13", "2023-02-24"], "4763.TW": ["\u6750\u6599-KY", 339.0, "2015-11-10", "2023-02-24"], "4764.TW": ["\u96d9\u9375", 56.79999923706055, "2016-10-17", "2023-02-24"], "4766.TW": ["\u5357\u5bf6", 138.0, "2017-07-25", "2023-02-24"], "4807.TW": ["\u65e5\u6210-KY", 21.950000762939453, "2016-11-30", "2023-02-24"], "4904.TW": ["\u9060\u50b3", 69.0, "2005-08-25", "2023-02-24"], "4906.TW": ["\u6b63\u6587", 27.700000762939453, "2003-07-02", "2023-02-24"], "4912.TW": ["\u806f\u5fb7\u63a7\u80a1-KY", 77.69999694824219, "2011-05-17", "2023-02-24"], "4915.TW": ["\u81f4\u4f38", 59.70000076293945, "2012-10-04", "2023-02-24"], "4916.TW": ["\u4e8b\u6b23\u79d1", 29.799999237060547, "2012-10-04", "2023-02-24"], "4919.TW": ["\u65b0\u5510", 147.5, "2010-09-28", "2023-02-24"], "4927.TW": ["\u6cf0\u9f0e-KY", 61.099998474121094, "2011-10-19", "2023-02-24"], "4930.TW": ["\u71e6\u661f\u7db2", 30.049999237060547, "2010-06-22", "2023-02-24"], "4934.TW": ["\u592a\u6975", 28.299999237060547, "2011-08-17", "2023-02-24"], "4935.TW": ["\u8302\u6797-KY", 58.400001525878906, "2011-07-29", "2023-02-24"], "4938.TW": ["\u548c\u78a9", 68.0, "2009-01-13", "2023-02-24"], "4942.TW": ["\u5609\u5f70", 37.75, "2011-06-28", "2023-02-24"], "4943.TW": ["\u5eb7\u63a7-KY", 13.449999809265137, "2012-07-30", "2023-02-24"], "4952.TW": ["\u51cc\u901a", 55.099998474121094, "2011-11-02", "2023-02-24"], "4956.TW": ["\u5149\u92d0", 16.149999618530273, "2011-10-25", "2023-02-24"], "4958.TW": ["\u81fb\u9f0e-KY", 112.0, "2011-12-27", "2023-02-24"], "4960.TW": ["\u8aa0\u7f8e\u6750", 12.5, "2011-10-25", "2023-02-24"], "4961.TW": ["\u5929\u923a", 166.5, "2012-06-21", "2023-02-24"], "4967.TW": ["\u5341\u9293", 51.79999923706055, "2012-07-27", "2023-02-24"], "4968.TW": ["\u7acb\u7a4d", 132.5, "2012-10-04", "2023-02-24"], "4976.TW": ["\u4f73\u51cc", 40.900001525878906, "2012-10-04", "2023-02-24"], "4977.TW": ["\u773e\u9054-KY", 110.0, "2013-04-02", "2023-02-24"], "4989.TW": ["\u69ae\u79d1", 26.899999618530273, "2013-03-13", "2023-02-24"], "4994.TW": ["\u50b3\u5947", 41.400001525878906, "2011-12-14", "2023-02-24"], "4999.TW": ["\u946b\u79be", 38.75, "2012-10-04", "2023-02-24"], "5007.TW": ["\u4e09\u661f", 51.400001525878906, "2008-01-02", "2023-02-24"], "5203.TW": ["\u8a0a\u9023", 91.5, "2004-09-28", "2023-02-24"], "5215.TW": ["\u79d1\u5609-KY", 50.20000076293945, "2011-12-27", "2023-02-24"], "5225.TW": ["\u6771\u79d1-KY", 39.79999923706055, "2012-11-22", "2023-02-24"], "5234.TW": ["\u9054\u8208\u6750\u6599", 80.80000305175781, "2012-07-17", "2023-02-24"], "5243.TW": ["\u4e59\u76db-KY", 62.5, "2013-11-26", "2023-02-24"], "5258.TW": ["\u8679\u5821", 91.0999984741211, "2012-06-21", "2023-02-24"], "5269.TW": ["\u7965\u78a9", 991.0, "2012-10-04", "2023-02-24"], "5283.TW": ["\u79be\u806f\u78a9", 114.5, "2012-10-15", "2023-02-24"], "5284.TW": ["jpp-KY", 92.80000305175781, "2014-10-08", "2023-02-24"], "5285.TW": ["\u754c\u9716", 77.9000015258789, "2012-10-04", "2023-02-24"], "5288.TW": ["\u8c50\u7965-KY", 176.0, "2014-09-26", "2023-02-24"], "5388.TW": ["\u4e2d\u78ca", 84.30000305175781, "2000-01-05", "2023-02-24"], "5434.TW": ["\u5d07\u8d8a", 180.5, "2000-05-26", "2023-02-24"], "5469.TW": ["\u701a\u5b87\u535a", 34.45000076293945, "2003-08-26", "2023-02-24"], "5471.TW": ["\u677e\u7ff0", 54.79999923706055, "2003-08-26", "2023-02-24"], "5484.TW": ["\u6167\u53cb", 13.399999618530273, "2003-08-26", "2023-02-24"], "5515.TW": ["\u5efa\u570b", 11.850000381469727, "2000-01-05", "2023-02-24"], "5519.TW": ["\u9686\u5927", 23.350000381469727, "2008-01-02", "2023-02-24"], "5521.TW": ["\u5de5\u4fe1", 7.070000171661377, "2008-01-02", "2023-02-24"], "5522.TW": ["\u9060\u96c4", 59.0, "2000-01-05", "2023-02-24"], "5525.TW": ["\u9806\u5929", 24.399999618530273, "2000-05-24", "2023-02-24"], "5531.TW": ["\u9109\u6797", 9.359999656677246, "2005-02-01", "2023-02-24"], "5533.TW": ["\u7687\u9f0e", 17.700000762939453, "2008-05-02", "2023-02-24"], "5534.TW": ["\u9577\u8679", 76.19999694824219, "2004-05-25", "2023-02-24"], "5538.TW": ["\u6771\u660e-KY", 42.29999923706055, "2013-12-17", "2023-02-24"], "5546.TW": ["\u6c38\u56fa-KY", 43.5, "2020-05-21", "2023-02-24"], "5607.TW": ["\u9060\u96c4\u6e2f", 55.099998474121094, "2000-01-05", "2023-02-24"], "5608.TW": ["\u56db\u7dad\u822a", 28.600000381469727, "2003-08-26", "2023-02-24"], "5706.TW": ["\u9cf3\u51f0", 71.19999694824219, "2008-01-02", "2023-02-24"], "5871.TW": ["\u4e2d\u79df-KY", 225.5, "2011-12-14", "2023-02-24"], "5876.TW": ["\u4e0a\u6d77\u5546\u9280", 47.650001525878906, "2014-09-26", "2023-02-24"], "5880.TW": ["\u5408\u5eab\u91d1", 26.649999618530273, "2000-01-05", "2023-02-24"], "5906.TW": ["\u53f0\u5357-KY", 38.0, "2011-10-25", "2023-02-24"], "5907.TW": ["\u5927\u6d0b-KY", 17.350000381469727, "2012-06-07", "2023-02-24"], "6005.TW": ["\u7fa4\u76ca\u8b49", 12.149999618530273, "2000-01-05", "2023-02-24"], "6024.TW": ["\u7fa4\u76ca\u671f", 39.45000076293945, "2010-02-23", "2023-02-24"], "6108.TW": ["\u7af6\u570b", 17.200000762939453, "2008-12-31", "2023-02-24"], "6112.TW": ["\u805a\u78a9", 38.349998474121094, "2003-08-05", "2023-02-24"], "6115.TW": ["\u93b0\u52dd", 44.0, "2004-07-20", "2023-02-24"], "6116.TW": ["\u5f69\u6676", 12.800000190734863, "2004-09-07", "2023-02-24"], "6117.TW": ["\u8fce\u5ee3", 14.350000381469727, "2003-08-26", "2023-02-24"], "6120.TW": ["\u9054\u904b", 10.449999809265137, "2006-09-14", "2023-02-24"], "6128.TW": ["\u4e0a\u798f", 34.150001525878906, "2003-06-17", "2023-02-24"], "6133.TW": ["\u91d1\u6a4b", 22.899999618530273, "2003-08-26", "2023-02-24"], "6136.TW": ["\u5bcc\u723e\u7279", 18.850000381469727, "2003-08-26", "2023-02-24"], "6139.TW": ["\u4e9e\u7fd4", 40.5, "2003-08-26", "2023-02-24"], "6141.TW": ["\u67cf\u627f", 19.700000762939453, "2003-10-23", "2023-02-24"], "6142.TW": ["\u53cb\u52c1", 12.25, "2003-08-05", "2023-02-24"], "6152.TW": ["\u767e\u4e00", 10.0, "2008-01-02", "2023-02-24"], "6153.TW": ["\u5609\u806f\u76ca", 24.100000381469727, "2008-01-22", "2023-02-24"], "6155.TW": ["\u921e\u5bf6", 26.700000762939453, "2006-08-21", "2023-02-24"], "6164.TW": ["\u83ef\u8208", 10.649999618530273, "2008-10-22", "2023-02-24"], "6165.TW": ["\u6377\u6cf0", 33.0, "2003-08-05", "2023-02-24"], "6166.TW": ["\u51cc\u83ef", 61.400001525878906, "2004-11-09", "2023-02-24"], "6168.TW": ["\u5b8f\u9f4a", 21.600000381469727, "2003-08-26", "2023-02-24"], "6176.TW": ["\u745e\u5100", 105.5, "2007-05-16", "2023-02-24"], "6177.TW": ["\u9054\u9e97", 31.200000762939453, "2008-01-02", "2023-02-24"], "6183.TW": ["\u95dc\u8cbf", 63.400001525878906, "2008-01-02", "2023-02-24"], "6184.TW": ["\u5927\u8c50\u96fb", 49.400001525878906, "2005-02-16", "2023-02-24"], "6189.TW": ["\u8c50\u85dd", 39.349998474121094, "2004-05-25", "2023-02-24"], "6191.TW": ["\u7cbe\u6210\u79d1", 30.0, "2000-01-05", "2023-02-24"], "6192.TW": ["\u5de8\u8def", 75.19999694824219, "2004-09-28", "2023-02-24"], "6196.TW": ["\u5e06\u5ba3", 126.5, "2004-05-25", "2023-02-24"], "6197.TW": ["\u4f73\u5fc5\u742a", 44.5, "2004-11-09", "2023-02-24"], "6201.TW": ["\u4e9e\u5f18\u96fb", 42.5, "2004-09-28", "2023-02-24"], "6202.TW": ["\u76db\u7fa4", 74.0999984741211, "2004-09-28", "2023-02-24"], "6205.TW": ["\u8a6e\u6b23", 91.0, "2008-01-22", "2023-02-24"], "6206.TW": ["\u98db\u6377", 72.69999694824219, "2004-08-04", "2023-02-24"], "6209.TW": ["\u4eca\u570b\u5149", 25.899999618530273, "2004-11-09", "2023-02-24"], "6213.TW": ["\u806f\u8302", 75.30000305175781, "2008-01-22", "2023-02-24"], "6214.TW": ["\u7cbe\u8aa0", 75.30000305175781, "2008-01-02", "2023-02-24"], "6215.TW": ["\u548c\u693f", 26.899999618530273, "2007-12-31", "2023-02-24"], "6216.TW": ["\u5c45\u6613", 26.549999237060547, "2004-09-28", "2023-02-24"], "6224.TW": ["\u805a\u9f0e", 65.69999694824219, "2009-09-18", "2023-02-24"], "6225.TW": ["\u5929\u701a", 12.300000190734863, "2004-09-28", "2023-02-24"], "6226.TW": ["\u5149\u9f0e", 11.550000190734863, "2008-11-11", "2023-02-24"], "6230.TW": ["\u8d85\u773e", 118.0, "2008-01-02", "2023-02-24"], "6235.TW": ["\u83ef\u5b5a", 54.0, "2004-08-24", "2023-02-24"], "6239.TW": ["\u529b\u6210", 88.0999984741211, "2004-11-09", "2023-02-24"], "6243.TW": ["\u8fc5\u6770", 30.799999237060547, "2009-12-18", "2023-02-24"], "6257.TW": ["\u77fd\u683c", 53.400001525878906, "2003-08-26", "2023-02-24"], "6269.TW": ["\u53f0\u90e1", 98.0, "2003-09-24", "2023-02-24"], "6271.TW": ["\u540c\u6b23\u96fb", 219.0, "2007-11-19", "2023-02-24"], "6277.TW": ["\u5b8f\u6b63", 81.5, "2003-10-31", "2023-02-24"], "6278.TW": ["\u53f0\u8868\u79d1", 88.9000015258789, "2008-01-02", "2023-02-24"], "6281.TW": ["\u5168\u570b\u96fb", 85.80000305175781, "2005-12-09", "2023-02-24"], "6282.TW": ["\u5eb7\u8212", 38.0, "2003-09-09", "2023-02-24"], "6283.TW": ["\u6df3\u5b89", 34.45000076293945, "2007-09-05", "2023-02-24"], "6285.TW": ["\u555f\u7881", 84.4000015258789, "2003-09-23", "2023-02-24"], "6288.TW": ["\u806f\u5609", 27.100000381469727, "2012-01-16", "2023-02-24"], "6405.TW": ["\u6085\u57ce", 21.399999618530273, "2013-03-13", "2023-02-24"], "6409.TW": ["\u65ed\u96bc", 1605.0, "2013-03-13", "2023-02-24"], "6412.TW": ["\u7fa4\u96fb", 78.9000015258789, "2013-03-13", "2023-02-24"], "6414.TW": ["\u6a3a\u6f22", 233.5, "2013-03-13", "2023-02-24"], "6415.TW": ["\u77fd\u529b-KY", 582.0, "2013-12-13", "2023-02-24"], "6416.TW": ["\u745e\u797a\u96fb\u901a", 93.5, "2013-04-19", "2023-02-24"], "6431.TW": ["\u5149\u9e97-KY", 20.200000762939453, "2014-12-05", "2023-02-24"], "6442.TW": ["\u5149\u8056", 50.0, "2014-03-18", "2023-02-24"], "6443.TW": ["\u5143\u6676", 37.099998474121094, "2014-09-22", "2023-02-24"], "6449.TW": ["\u923a\u90a6", 45.400001525878906, "2014-03-03", "2023-02-24"], "6451.TW": ["\u8a0a\u82af-KY", 86.30000305175781, "2015-01-27", "2023-02-24"], "6456.TW": ["GIS-KY", 86.5, "2015-06-15", "2023-02-24"], "6464.TW": ["\u53f0\u6578\u79d1", 90.19999694824219, "2014-07-28", "2023-02-24"], "6477.TW": ["\u5b89\u96c6", 47.5, "2014-10-29", "2023-02-24"], "6491.TW": ["\u6676\u78a9", 448.0, "2014-12-31", "2023-02-24"], "6504.TW": ["\u5357\u516d", 73.19999694824219, "2008-01-02", "2023-02-24"], "6505.TW": ["\u53f0\u5851\u5316", 85.0999984741211, "2003-12-29", "2023-02-24"], "6525.TW": ["\u6377\u654f-KY", 74.5, "2016-04-13", "2023-02-24"], "6531.TW": ["\u611b\u666e", 283.0, "2015-06-15", "2023-02-24"], "6533.TW": ["\u6676\u5fc3\u79d1", 538.0, "2015-08-07", "2023-02-24"], "6541.TW": ["\u6cf0\u798f-KY", 37.75, "2015-08-14", "2023-02-24"], "6552.TW": ["\u6613\u83ef\u96fb", 38.79999923706055, "2015-09-09", "2023-02-24"], "6558.TW": ["\u8208\u80fd\u9ad8", 25.450000762939453, "2015-11-18", "2023-02-24"], "6573.TW": ["\u8679\u63da-KY", 13.600000381469727, "2017-09-27", "2023-02-24"], "6579.TW": ["\u7814\u63da", 97.19999694824219, "2016-06-07", "2023-02-24"], "6581.TW": ["\u92fc\u806f", 104.5, "2016-09-13", "2023-02-24"], "6582.TW": ["\u7533\u8c50", 63.900001525878906, "2016-07-01", "2023-02-24"], "6591.TW": ["\u52d5\u529b-KY", 46.79999923706055, "2016-12-01", "2023-02-24"], "6592.TW": ["\u548c\u6f64\u4f01\u696d", 111.0, "2018-10-16", "2023-02-24"], "6598.TW": ["ABC-KY", 28.100000381469727, "2017-02-10", "2023-02-24"], "6605.TW": ["\u5e1d\u5bf6", 87.5, "2004-03-18", "2023-02-24"], "6625.TW": ["\u5fc5\u61c9", 47.25, "2017-03-31", "2023-02-24"], "6641.TW": ["\u57fa\u58eb\u5fb7-KY", 55.099998474121094, "2018-09-25", "2023-02-24"], "6655.TW": ["\u79d1\u5b9a", 128.0, "2017-11-27", "2023-02-24"], "6666.TW": ["\u7f85\u9e97\u82ac-KY", 93.69999694824219, "2018-11-20", "2023-02-24"], "6668.TW": ["\u4e2d\u63da\u5149", 40.900001525878906, "2017-12-01", "2023-02-24"], "6669.TW": ["\u7def\u7a4e", 969.0, "2017-11-14", "2023-02-24"], "6670.TW": ["\u5fa9\u76db\u61c9\u7528", 248.5, "2017-12-01", "2023-02-24"], "6671.TW": ["\u4e09\u80fd-KY", 39.849998474121094, "2018-12-12", "2023-02-24"], "6672.TW": ["\u9a30\u8f1d\u96fb\u5b50-KY", 81.80000305175781, "2018-01-17", "2023-02-24"], "6674.TW": ["\u92d0\u5bf6\u79d1\u6280", 27.350000381469727, "2018-01-02", "2023-02-24"], "6698.TW": ["\u65ed\u6689\u61c9\u6750", 32.599998474121094, "2018-10-18", "2023-02-24"], "6706.TW": ["\u60e0\u7279", 96.30000305175781, "2018-11-20", "2023-02-24"], "6715.TW": ["\u5609\u57fa", 147.0, "2018-11-16", "2023-02-24"], "6754.TW": ["\u532f\u50d1\u8a2d\u8a08", 47.650001525878906, "2019-10-17", "2023-02-24"], "8011.TW": ["\u53f0\u901a", 14.5, "2011-09-20", "2023-02-24"], "8016.TW": ["\u77fd\u5275", 228.0, "2003-12-26", "2023-02-24"], "8021.TW": ["\u5c16\u9ede", 29.399999618530273, "2008-01-22", "2023-02-24"], "8028.TW": ["\u6607\u967d\u534a\u5c0e\u9ad4", 56.599998474121094, "2008-01-02", "2023-02-24"], "8033.TW": ["\u96f7\u864e", 53.900001525878906, "2007-06-22", "2023-02-24"], "8039.TW": ["\u53f0\u8679", 42.70000076293945, "2008-07-22", "2023-02-24"], "8046.TW": ["\u5357\u96fb", 235.0, "2004-05-27", "2023-02-24"], "8070.TW": ["\u9577\u83ef*", 33.04999923706055, "2008-01-02", "2023-02-24"], "8072.TW": ["\u965e\u6cf0", 26.049999237060547, "2005-08-22", "2023-02-24"], "8081.TW": ["\u81f4\u65b0", 175.0, "2008-12-31", "2023-02-24"], "8101.TW": ["\u83ef\u51a0", 5.960000038146973, "2004-07-02", "2023-02-24"], "8103.TW": ["\u701a\u8343", 35.29999923706055, "2008-01-02", "2023-02-24"], "8104.TW": ["\u9338\u5bf6", 39.099998474121094, "2016-07-27", "2023-02-24"], "8105.TW": ["\u51cc\u5de8", 14.949999809265137, "2006-12-28", "2023-02-24"], "8110.TW": ["\u83ef\u6771", 12.800000190734863, "2007-11-01", "2023-02-24"], "8112.TW": ["\u81f3\u4e0a", 38.599998474121094, "2008-01-02", "2023-02-24"], "8114.TW": ["\u632f\u6a3a\u96fb", 120.0, "2008-01-02", "2023-02-24"], "8131.TW": ["\u798f\u61cb\u79d1", 43.0, "2007-11-30", "2023-02-24"], "8150.TW": ["\u5357\u8302", 36.400001525878906, "2013-04-22", "2023-02-24"], "8163.TW": ["\u9054\u65b9", 41.29999923706055, "2007-11-29", "2023-02-24"], "8201.TW": ["\u7121\u6575", 11.149999618530273, "2007-10-30", "2023-02-24"], "8210.TW": ["\u52e4\u8aa0", 88.80000305175781, "2008-01-02", "2023-02-24"], "8213.TW": ["\u5fd7\u8d85", 38.79999923706055, "2009-12-28", "2023-02-24"], "8215.TW": ["\u660e\u57fa\u6750", 36.400001525878906, "2008-01-02", "2023-02-24"], "8222.TW": ["\u5bf6\u4e00", 32.25, "2013-10-11", "2023-02-24"], "8249.TW": ["\u83f1\u5149", 28.450000762939453, "2005-05-18", "2023-02-24"], "8261.TW": ["\u5bcc\u9f0e", 109.0, "2008-01-02", "2023-02-24"], "8271.TW": ["\u5b87\u77bb", 47.599998474121094, "2008-01-02", "2023-02-24"], "8341.TW": ["\u65e5\u53cb", 164.5, "2014-03-31", "2023-02-24"], "8367.TW": ["\u5efa\u65b0\u570b\u969b", 46.099998474121094, "2017-03-23", "2023-02-24"], "8374.TW": ["\u7f85\u6607", 29.950000762939453, "2008-01-02", "2023-02-24"], "8404.TW": ["\u767e\u548c\u8208\u696d-KY", 27.899999618530273, "2011-05-19", "2023-02-24"], "8411.TW": ["\u798f\u8c9e-KY", 15.550000190734863, "2011-11-02", "2023-02-24"], "8422.TW": ["\u53ef\u5be7\u885b", 188.5, "2011-10-06", "2023-02-24"], "8429.TW": ["\u91d1\u9e97-KY", 10.899999618530273, "2012-12-21", "2023-02-24"], "8442.TW": ["\u5a01\u5b8f-KY", 77.5999984741211, "2016-11-10", "2023-02-24"], "8443.TW": ["\u963f\u7626", 11.550000190734863, "2012-10-04", "2023-02-24"], "8454.TW": ["\u5bcc\u90a6\u5a92", 794.0, "2014-03-03", "2023-02-24"], "8462.TW": ["\u67cf\u6587", 142.0, "2014-09-01", "2023-02-24"], "8463.TW": ["\u6f64\u6cf0\u6750", 24.450000762939453, "2014-09-16", "2023-02-24"], "8464.TW": ["\u5104\u8c50", 326.0, "2008-01-02", "2023-02-24"], "8466.TW": ["\u7f8e\u5409\u5409-KY", 40.5, "2016-11-02", "2023-02-24"], "8467.TW": ["\u6ce2\u529b-KY", 55.400001525878906, "2015-12-16", "2023-02-24"], "8473.TW": ["\u5c71\u6797\u6c34", 31.399999618530273, "2015-03-31", "2023-02-24"], "8478.TW": ["\u6771\u54e5\u904a\u8247", 387.0, "2015-09-24", "2023-02-24"], "8481.TW": ["\u653f\u4f38", 58.29999923706055, "2016-03-07", "2023-02-24"], "8482.TW": ["\u5546\u5104-KY", 73.5, "2018-08-16", "2023-02-24"], "8488.TW": ["\u5409\u6e90-KY", 15.399999618530273, "2016-12-15", "2023-02-24"], "8499.TW": ["\u9f0e\u70ab-KY", 105.0, "2017-11-27", "2023-02-24"], "8926.TW": ["\u53f0\u6c7d\u96fb", 36.75, "2000-05-11", "2023-02-24"], "8940.TW": ["\u65b0\u5929\u5730", 25.299999237060547, "2008-01-02", "2023-02-24"], "8996.TW": ["\u9ad8\u529b", 239.0, "2008-01-02", "2023-02-24"], "9802.TW": ["\u923a\u9f4a-KY", 136.5, "2012-10-19", "2023-02-24"], "9902.TW": ["\u53f0\u706b", 13.399999618530273, "2000-01-05", "2023-02-24"], "9904.TW": ["\u5bf6\u6210", 33.599998474121094, "2000-01-05", "2023-02-24"], "9905.TW": ["\u5927\u83ef", 24.600000381469727, "2000-01-05", "2023-02-24"], "9906.TW": ["\u6b23\u5df4\u5df4", 48.20000076293945, "2000-01-05", "2023-02-24"], "9907.TW": ["\u7d71\u4e00\u5be6", 17.549999237060547, "2000-01-05", "2023-02-24"], "9908.TW": ["\u5927\u53f0\u5317", 31.200000762939453, "2000-01-05", "2023-02-24"], "9910.TW": ["\u8c50\u6cf0", 185.0, "2000-01-05", "2023-02-24"], "9911.TW": ["\u6afb\u82b1", 64.69999694824219, "2000-01-05", "2023-02-24"], "9912.TW": ["\u5049\u806f", 10.350000381469727, "2000-01-05", "2023-02-24"], "9914.TW": ["\u7f8e\u5229\u9054", 180.0, "2000-01-05", "2023-02-24"], "9917.TW": ["\u4e2d\u4fdd\u79d1", 101.0, "2000-01-05", "2023-02-24"], "9918.TW": ["\u6b23\u5929\u7136", 42.20000076293945, "2000-01-05", "2023-02-24"], "9919.TW": ["\u5eb7\u90a3\u9999", 17.549999237060547, "2000-01-05", "2023-02-24"], "9921.TW": ["\u5de8\u5927", 203.5, "2000-01-05", "2023-02-24"], "9924.TW": ["\u798f\u8208", 42.95000076293945, "2000-01-05", "2023-02-24"], "9925.TW": ["\u65b0\u4fdd", 41.0, "2000-01-05", "2023-02-24"], "9926.TW": ["\u65b0\u6d77", 52.29999923706055, "2000-01-05", "2023-02-24"], "9927.TW": ["\u6cf0\u9298", 39.70000076293945, "2000-01-05", "2023-02-24"], "9928.TW": ["\u4e2d\u8996", 19.399999618530273, "2000-01-05", "2023-02-24"], "9929.TW": ["\u79cb\u96e8", 9.319999694824219, "2000-01-05", "2023-02-24"], "9930.TW": ["\u4e2d\u806f\u8cc7\u6e90", 47.150001525878906, "2000-01-05", "2023-02-24"], "9931.TW": ["\u6b23\u9ad8", 39.099998474121094, "2000-01-05", "2023-02-24"], "9933.TW": ["\u4e2d\u9f0e", 44.45000076293945, "2000-01-05", "2023-02-24"], "9934.TW": ["\u6210\u9716", 13.149999618530273, "2000-01-05", "2023-02-24"], "9935.TW": ["\u6176\u8c50\u5bcc", 19.25, "2000-01-05", "2023-02-24"], "9937.TW": ["\u5168\u570b", 59.400001525878906, "2000-01-05", "2023-02-24"], "9938.TW": ["\u767e\u548c", 61.900001525878906, "2001-01-17", "2023-02-24"], "9939.TW": ["\u5b8f\u5168", 96.5, "2001-03-06", "2023-02-24"], "9940.TW": ["\u4fe1\u7fa9", 28.399999618530273, "2000-01-05", "2023-02-24"], "9941.TW": ["\u88d5\u878d", 170.0, "2000-01-05", "2023-02-24"], "9942.TW": ["\u8302\u9806", 119.5, "2002-01-30", "2023-02-24"], "9943.TW": ["\u597d\u6a02\u8fea", 70.0, "2002-08-28", "2023-02-24"], "9944.TW": ["\u65b0\u9e97", 20.350000381469727, "2002-08-28", "2023-02-24"], "9945.TW": ["\u6f64\u6cf0\u65b0", 44.45000076293945, "2000-01-05", "2023-02-24"], "9946.TW": ["\u4e09\u767c\u5730\u7522", 12.199999809265137, "2007-12-31", "2023-02-24"], "9955.TW": ["\u4f73\u9f8d", 21.100000381469727, "2008-01-22", "2023-02-24"], "9958.TW": ["\u4e16\u7d00\u92fc", 104.0, "2008-03-13", "2023-02-24"], "0050.TW": ["\u5143\u5927\u53f0\u706350", 118.80000305175781, "2008-01-03", "2023-02-24"], "0051.TW": ["\u5143\u5927\u4e2d\u578b100", 56.45000076293945, "2008-01-03", "2023-02-24"], "0052.TW": ["\u5bcc\u90a6\u79d1\u6280", 104.5999984741211, "2008-01-03", "2023-02-24"], "0053.TW": ["\u5143\u5927\u96fb\u5b50", 58.70000076293945, "2008-01-03", "2023-02-24"], "0054.TW": ["\u5143\u5927\u53f0\u554650", 28.25, "2008-01-03", "2022-06-29"], "0055.TW": ["\u5143\u5927MSCI\u91d1\u878d", 22.5, "2008-01-03", "2023-02-24"], "0056.TW": ["\u5143\u5927\u9ad8\u80a1\u606f", 27.670000076293945, "2008-01-03", "2023-02-24"], "0057.TW": ["\u5bcc\u90a6\u6469\u53f0", 86.5999984741211, "2008-02-15", "2023-02-24"], "0061.TW": ["\u5143\u5927\u5bf6\u6eec\u6df1", 19.3799991607666, "2009-08-05", "2023-02-24"], "006203.TW": ["\u5143\u5927MSCI\u53f0\u7063", 57.650001525878906, "2011-04-22", "2023-02-24"], "006204.TW": ["\u6c38\u8c50\u81fa\u7063\u52a0\u6b0a", 78.30000305175781, "2011-09-07", "2023-02-24"], "006205.TW": ["\u5bcc\u90a6\u4e0a\u8a3c", 32.36000061035156, "2011-08-31", "2023-02-24"], "006206.TW": ["\u5143\u5927\u4e0a\u8b4950", 31.0, "2012-04-26", "2023-02-24"], "006207.TW": ["FH\u6eec\u6df1", 25.190000534057617, "2012-06-06", "2023-02-24"], "006208.TW": ["\u5bcc\u90a6\u53f050", 68.69999694824219, "2012-06-25", "2023-02-24"], "00625K.TW": ["\u5bcc\u90a6\u4e0a\u8a3c+R", 7.230000019073486, "2011-08-31", "2023-02-24"], "00631L.TW": ["\u5143\u5927\u53f0\u706350\u6b632", 111.8499984741211, "2014-10-24", "2023-02-24"], "00632R.TW": ["\u5143\u5927\u53f0\u706350\u53cd1", 5.349999904632568, "2014-10-24", "2023-02-24"], "00633L.TW": ["\u5bcc\u90a6\u4e0a\u8a3c\u6b632", 40.459999084472656, "2014-11-12", "2023-02-24"], "00634R.TW": ["\u5bcc\u90a6\u4e0a\u8a3c\u53cd1", 4.380000114440918, "2014-11-12", "2023-02-24"], "00635U.TW": ["\u5143\u5927S&P\u9ec3\u91d1", 23.309999465942383, "2015-04-01", "2023-02-24"], "00636.TW": ["\u570b\u6cf0\u4e2d\u570bA50", 21.899999618530273, "2015-03-23", "2023-02-24"], "00636K.TW": ["\u570b\u6cf0\u4e2d\u570bA50+U", 7.170000076293945, "2015-03-23", "2023-02-24"], "00637L.TW": ["\u5143\u5927\u6eec\u6df1300\u6b632", 15.949999809265137, "2015-05-06", "2023-02-24"], "00638R.TW": ["\u5143\u5927\u6eec\u6df1300\u53cd1", 9.1899995803833, "2015-05-06", "2023-02-24"], "00639.TW": ["\u5bcc\u90a6\u6df1100", 13.279999732971191, "2015-05-21", "2023-02-24"], "00640L.TW": ["\u5bcc\u90a6\u65e5\u672c\u6b632", 29.440000534057617, "2015-08-27", "2023-02-24"], "00641R.TW": ["\u5bcc\u90a6\u65e5\u672c\u53cd1", 9.449999809265137, "2015-08-27", "2023-02-24"], "00642U.TW": ["\u5143\u5927S&P\u77f3\u6cb9", 16.110000610351562, "2015-08-27", "2023-02-24"], "00643.TW": ["\u7fa4\u76ca\u6df1\u8a3c\u4e2d\u5c0f", 15.279999732971191, "2015-11-13", "2023-02-24"], "00643K.TW": ["\u7fa4\u76ca\u6df1\u8a3c\u4e2d\u5c0f+R", 4.489999771118164, "2015-11-13", "2023-02-24"], "00645.TW": ["\u5bcc\u90a6\u65e5\u672c", 26.450000762939453, "2015-10-29", "2023-02-24"], "00646.TW": ["\u5143\u5927S&P500", 37.79999923706055, "2015-12-03", "2023-02-24"], "00647L.TW": ["\u5143\u5927S&P500\u6b632", 53.20000076293945, "2015-12-02", "2023-02-24"], "00648R.TW": ["\u5143\u5927S&P500\u53cd1", 7.260000228881836, "2015-12-02", "2023-02-24"], "00650L.TW": ["FH\u9999\u6e2f\u6b632", 13.649999618530273, "2016-01-14", "2023-02-24"], "00651R.TW": ["FH\u9999\u6e2f\u53cd1", 8.369999885559082, "2016-01-14", "2023-02-24"], "00652.TW": ["\u5bcc\u90a6\u5370\u5ea6", 28.56999969482422, "2016-03-17", "2023-02-24"], "00653L.TW": ["\u5bcc\u90a6\u5370\u5ea6\u6b632", 41.58000183105469, "2016-03-17", "2023-02-24"], "00654R.TW": ["\u5bcc\u90a6\u5370\u5ea6\u53cd1", 8.15999984741211, "2016-03-17", "2023-02-24"], "00655L.TW": ["\u570b\u6cf0\u4e2d\u570bA50\u6b632", 28.6299991607666, "2016-03-09", "2023-02-24"], "00656R.TW": ["\u570b\u6cf0\u4e2d\u570bA50\u53cd1", 8.210000038146973, "2016-03-09", "2023-02-24"], "00657.TW": ["\u570b\u6cf0\u65e5\u7d93225", 32.45000076293945, "2016-04-26", "2023-02-24"], "00657K.TW": ["\u570b\u6cf0\u65e5\u7d93225+U", 10.630000114440918, "2016-04-26", "2023-02-24"], "00660.TW": ["\u5143\u5927\u6b50\u6d3250", 31.229999542236328, "2016-06-02", "2023-02-24"], "00661.TW": ["\u5143\u5927\u65e5\u7d93225", 34.72999954223633, "2016-06-02", "2023-02-24"], "00662.TW": ["\u5bcc\u90a6NASDAQ", 47.7400016784668, "2016-06-06", "2023-02-24"], "00663L.TW": ["\u570b\u6cf0\u81fa\u7063\u52a0\u6b0a\u6b632", 103.69999694824219, "2016-07-04", "2023-02-24"], "00664R.TW": ["\u570b\u6cf0\u81fa\u7063\u52a0\u6b0a\u53cd1", 6.03000020980835, "2016-07-04", "2023-02-24"], "00665L.TW": ["\u5bcc\u90a6\u6052\u751f\u570b\u4f01\u6b632", 8.329999923706055, "2016-07-22", "2023-02-24"], "00666R.TW": ["\u5bcc\u90a6\u6052\u751f\u570b\u4f01\u53cd1", 14.720000267028809, "2016-07-22", "2023-02-24"], "00668.TW": ["\u570b\u6cf0\u7f8e\u570b\u9053\u74ca", 36.689998626708984, "2016-10-04", "2023-02-24"], "00668K.TW": ["\u570b\u6cf0\u7f8e\u570b\u9053\u74ca+U", 12.029999732971191, "2016-10-04", "2023-02-24"], "00669R.TW": ["\u570b\u6cf0\u7f8e\u570b\u9053\u74ca\u53cd1", 8.050000190734863, "2016-10-04", "2023-02-24"], "00670L.TW": ["\u5bcc\u90a6NASDAQ\u6b632", 58.45000076293945, "2017-02-15", "2023-02-24"], "00671R.TW": ["\u5bcc\u90a6NASDAQ\u53cd1", 5.96999979019165, "2017-02-15", "2023-02-24"], "00673R.TW": ["\u5143\u5927S&P\u539f\u6cb9\u53cd1", 8.960000038146973, "2016-10-03", "2023-02-24"], "00674R.TW": ["\u5143\u5927S&P\u9ec3\u91d1\u53cd1", 12.960000038146973, "2016-10-03", "2023-02-24"], "00675L.TW": ["\u5bcc\u90a6\u81fa\u7063\u52a0\u6b0a\u6b632", 45.02000045776367, "2016-09-26", "2023-02-24"], "00676R.TW": ["\u5bcc\u90a6\u81fa\u7063\u52a0\u6b0a\u53cd1", 3.319999933242798, "2016-09-26", "2023-02-24"], "00677U.TW": ["\u5bcc\u90a6VIX", 1.4800000190734863, "2016-12-23", "2021-07-05"], "00678.TW": ["\u7fa4\u76caNBI\u751f\u6280", 25.5, "2017-01-10", "2023-02-24"], "00680L.TW": ["\u5143\u5927\u7f8e\u50b520\u6b632", 11.319999694824219, "2017-01-12", "2023-02-24"], "00681R.TW": ["\u5143\u5927\u7f8e\u50b520\u53cd1", 18.469999313354492, "2017-01-12", "2023-02-24"], "00682U.TW": ["\u5143\u5927\u7f8e\u5143\u6307\u6578", 20.790000915527344, "2017-03-07", "2023-02-24"], "00683L.TW": ["\u5143\u5927\u7f8e\u5143\u6307\u6578\u6b632", 22.079999923706055, "2017-03-07", "2023-02-24"], "00684R.TW": ["\u5143\u5927\u7f8e\u5143\u6307\u6578\u53cd1", 15.899999618530273, "2017-03-07", "2023-02-24"], "00685L.TW": ["\u7fa4\u76ca\u81fa\u7063\u52a0\u6b0a\u6b632", 39.88999938964844, "2017-03-24", "2023-02-24"], "00686R.TW": ["\u7fa4\u76ca\u81fa\u7063\u52a0\u6b0a\u53cd1", 3.5899999141693115, "2017-03-24", "2023-02-24"], "00688L.TW": ["\u570b\u6cf020\u5e74\u7f8e\u50b5\u6b632", 11.180000305175781, "2017-04-07", "2023-02-24"], "00689R.TW": ["\u570b\u6cf020\u5e74\u7f8e\u50b5\u53cd1", 19.139999389648438, "2017-04-07", "2023-02-24"], "00690.TW": ["\u5146\u8c50\u85cd\u7c4c30", 27.260000228881836, "2017-03-28", "2023-02-24"], "00692.TW": ["\u5bcc\u90a6\u516c\u53f8\u6cbb\u7406", 29.420000076293945, "2017-05-05", "2023-02-24"], "00693U.TW": ["\u8857\u53e3S&P\u9ec3\u8c46", 27.299999237060547, "2017-04-18", "2023-02-24"], "00700.TW": ["\u5bcc\u90a6\u6046\u751f\u570b\u4f01", 12.859999656677246, "2017-07-24", "2023-02-24"], "00701.TW": ["\u570b\u6cf0\u80a1\u5229\u7cbe\u907830", 22.479999542236328, "2017-08-10", "2023-02-24"], "00702.TW": ["\u570b\u6cf0\u6a19\u666e\u4f4e\u6ce2\u9ad8\u606f", 21.31999969482422, "2017-08-10", "2023-02-24"], "00703.TW": ["\u53f0\u65b0MSCI\u4e2d\u570b", 16.18000030517578, "2017-08-03", "2023-02-24"], "00706L.TW": ["\u5143\u5927S&P\u65e5\u5713\u6b632", 9.739999771118164, "2017-08-24", "2023-02-24"], "00707R.TW": ["\u5143\u5927S&P\u65e5\u5713\u53cd1", 24.219999313354492, "2017-08-24", "2023-02-24"], "00708L.TW": ["\u5143\u5927S&P\u9ec3\u91d1\u6b632", 24.360000610351562, "2017-08-24", "2023-02-24"], "00709.TW": ["\u5bcc\u90a6\u6b50\u6d32", 24.059999465942383, "2017-08-08", "2023-02-24"], "00710B.TW": ["FH\u5f6d\u535a\u9ad8\u6536\u76ca\u50b5", 17.780000686645508, "2017-08-10", "2023-02-24"], "00711B.TW": ["FH\u5f6d\u535a\u65b0\u8208\u50b5", 15.970000267028809, "2017-08-10", "2023-02-24"], "00712.TW": ["FH\u5bcc\u6642\u4e0d\u52d5\u7522", 10.520000457763672, "2017-08-10", "2023-02-24"], "00713.TW": ["\u5143\u5927\u53f0\u7063\u9ad8\u606f\u4f4e\u6ce2", 39.2599983215332, "2017-09-20", "2023-02-24"], "00714.TW": ["\u7fa4\u76ca\u9053\u74ca\u7f8e\u570b\u5730\u7522", 19.110000610351562, "2017-10-23", "2023-02-24"], "00715L.TW": ["\u8857\u53e3S&P\u5e03\u862d\u7279\u6cb9\u6b632", 14.449999809265137, "2017-11-09", "2023-02-24"], "00717.TW": ["\u5bcc\u90a6\u7f8e\u570b\u7279\u5225\u80a1", 15.210000038146973, "2017-11-14", "2023-02-24"], "00728.TW": ["\u7b2c\u4e00\u91d1\u5de5\u696d30", 23.209999084472656, "2018-04-11", "2023-02-24"], "00730.TW": ["\u5bcc\u90a6\u81fa\u7063\u512a\u8cea\u9ad8\u606f", 18.90999984741211, "2018-01-31", "2023-02-24"], "00731.TW": ["FH\u5bcc\u6642\u9ad8\u606f\u4f4e\u6ce2", 56.20000076293945, "2018-04-13", "2023-02-24"], "00732.TW": ["\u570b\u6cf0RMB\u77ed\u671f\u5831\u916c", 40.380001068115234, "2018-05-07", "2023-02-24"], "00733.TW": ["\u5bcc\u90a6\u81fa\u7063\u4e2d\u5c0f", 36.06999969482422, "2018-05-07", "2023-02-24"], "00735.TW": ["\u570b\u6cf0\u81fa\u97d3\u79d1\u6280", 26.229999542236328, "2018-05-30", "2023-02-24"], "00736.TW": ["\u570b\u6cf0\u65b0\u8208\u5e02\u5834", 19.43000030517578, "2018-05-30", "2023-02-24"], "00737.TW": ["\u570b\u6cf0AI+ROBO", 27.139999389648438, "2018-05-30", "2023-02-24"], "00738U.TW": ["\u5143\u5927\u9053\u74ca\u767d\u9280", 21.110000610351562, "2018-05-24", "2023-02-24"], "00739.TW": ["\u5143\u5927MSCI A\u80a1", 23.719999313354492, "2018-06-20", "2023-02-24"], "00742.TW": ["\u65b0\u5149\u5167\u9700\u6536\u76ca", 22.200000762939453, "2018-06-13", "2022-05-24"], "00743.TW": ["\u570b\u6cf0\u4e2d\u570bA150", 24.200000762939453, "2018-07-26", "2022-10-07"], "00752.TW": ["\u4e2d\u4fe1\u4e2d\u570b50", 18.6299991607666, "2018-10-25", "2023-02-24"], "00753L.TW": ["\u4e2d\u4fe1\u4e2d\u570b50\u6b632", 11.220000267028809, "2018-10-25", "2023-02-24"], "00757.TW": ["\u7d71\u4e00FANG+", 40.630001068115234, "2018-11-28", "2023-02-24"], "00762.TW": ["\u5143\u5927\u5168\u7403AI", 35.06999969482422, "2019-01-17", "2023-02-24"], "00763U.TW": ["\u8857\u53e3\u9053\u74ca\u9285", 25.75, "2018-12-13", "2023-02-24"], "00770.TW": ["\u570b\u6cf0\u5317\u7f8e\u79d1\u6280", 27.020000457763672, "2019-01-23", "2023-02-24"], "00771.TW": ["\u5143\u5927US\u9ad8\u606f\u7279\u5225\u80a1", 17.010000228881836, "2019-04-26", "2023-02-24"], "00774B.TW": ["\u65b0\u5149\u4e2d\u570b\u653f\u91d1\u7da0\u50b5", 40.849998474121094, "2019-01-28", "2023-02-20"], "00774C.TW": ["\u65b0\u5149\u4e2d\u653f\u91d1\u7da0\u50b5+R", 9.119999885559082, "2019-01-28", "2023-02-20"], "00775B.TW": ["\u65b0\u5149\u6295\u7b49\u50b515+", 33.150001525878906, "2019-01-28", "2023-02-24"], "00783.TW": ["\u5bcc\u90a6\u4e2d\u8a3c500", 21.350000381469727, "2019-03-21", "2023-02-24"], "008201.TW": ["BP\u4e0a\u8b4950", 101.19999694824219, "2009-04-16", "2023-02-24"], "00830.TW": ["\u570b\u6cf0\u8cbb\u57ce\u534a\u5c0e\u9ad4", 26.389999389648438, "2019-04-24", "2023-02-24"], "00850.TW": ["\u5143\u5927\u81fa\u7063ESG\u6c38\u7e8c", 30.68000030517578, "2019-08-16", "2023-02-24"], "00851.TW": ["\u53f0\u65b0\u5168\u7403AI", 25.899999618530273, "2019-07-31", "2023-02-24"], "00852L.TW": ["\u570b\u6cf0\u7f8e\u570b\u9053\u74ca\u6b632", 18.799999237060547, "2019-08-16", "2023-02-24"], "00861.TW": ["\u5143\u5927\u5168\u7403\u672a\u4f86\u901a\u8a0a", 27.700000762939453, "2019-11-12", "2023-02-24"], "00865B.TW": ["\u570b\u6cf0US\u77ed\u671f\u516c\u50b5", 40.119998931884766, "2019-11-18", "2023-02-24"], "00866.TW": ["\u65b0\u5149SHILLER CAPE", 21.84000015258789, "2019-11-11", "2021-01-12"], "00875.TW": ["\u570b\u6cf0\u7db2\u8def\u8cc7\u5b89", 25.690000534057617, "2020-03-24", "2023-02-24"], "00876.TW": ["\u5143\u5927\u672a\u4f86\u95dc\u9375\u79d1\u6280", 26.799999237060547, "2020-06-23", "2023-02-24"], "00878.TW": ["\u570b\u6cf0\u6c38\u7e8c\u9ad8\u80a1\u606f", 17.100000381469727, "2020-07-13", "2023-02-24"], "006201.TWO": ["\u5143\u5927\u5bcc\u6ac350", 17.75, "2011-01-13", "2023-02-24"], "00679B.TWO": ["\u5143\u5927\u7f8e\u50b520\u5e74", 31.209999084472656, "2017-01-12", "2023-02-24"], "00687B.TWO": ["\u570b\u6cf020\u5e74\u7f8e\u50b5", 32.45000076293945, "2017-04-07", "2023-02-24"], "00694B.TWO": ["\u5bcc\u90a6\u7f8e\u50b51-3\u5e74", 38.08000183105469, "2017-06-01", "2023-02-24"], "00695B.TWO": ["\u5bcc\u90a6\u7f8e\u50b57-10\u5e74", 33.7599983215332, "2017-06-01", "2023-02-24"], "00696B.TWO": ["\u5bcc\u90a6\u7f8e\u50b520\u5e74", 32.779998779296875, "2017-06-01", "2023-02-24"], "00697B.TWO": ["\u5143\u5927\u7f8e\u50b57-10", 35.09000015258789, "2017-06-16", "2023-02-24"], "00718B.TWO": ["\u5bcc\u90a6\u4e2d\u570b\u653f\u7b56\u50b5", 19.770000457763672, "2018-01-22", "2023-02-24"], "00719B.TWO": ["\u5143\u5927\u7f8e\u50b51-3", 30.219999313354492, "2018-01-22", "2023-02-24"], "00720B.TWO": ["\u5143\u5927\u6295\u8cc7\u7d1a\u516c\u53f8\u50b5", 33.93000030517578, "2018-01-22", "2023-02-24"], "00721B.TWO": ["\u5143\u5927\u4e2d\u570b\u50b53-5", 45.150001525878906, "2018-01-22", "2023-02-24"], "00722B.TWO": ["\u7fa4\u76ca15\u5e74IG\u96fb\u4fe1\u50b5", 36.65999984741211, "2017-12-11", "2023-02-24"], "00723B.TWO": ["\u7fa4\u76ca15\u5e74IG\u79d1\u6280\u50b5", 32.5, "2017-12-11", "2023-02-24"], "00724B.TWO": ["\u7fa4\u76ca10\u5e74IG\u91d1\u878d\u50b5", 32.9900016784668, "2017-12-11", "2023-02-24"], "00725B.TWO": ["\u570b\u6cf0\u6295\u8cc7\u7d1a\u516c\u53f8\u50b5", 35.27000045776367, "2018-01-30", "2023-02-24"], "00726B.TWO": ["\u570b\u6cf05Y+\u65b0\u8208\u50b5", 32.93000030517578, "2018-01-30", "2023-02-24"], "00727B.TWO": ["\u570b\u6cf01-5Y\u9ad8\u6536\u50b5", 36.880001068115234, "2018-01-30", "2023-02-24"], "00734B.TWO": ["\u53f0\u65b0JPM\u65b0\u8208\u50b5", 15.3100004196167, "2018-05-21", "2023-02-24"], "00740B.TWO": ["\u5bcc\u90a6\u5168\u7403\u6295\u7b49\u50b5", 37.93000030517578, "2018-05-31", "2023-02-24"], "00741B.TWO": ["\u5bcc\u90a6\u5168\u7403\u9ad8\u6536\u50b5", 35.689998626708984, "2018-05-31", "2023-02-24"], "00744B.TWO": ["\u570b\u6cf0\u4e2d\u570b\u653f\u91d1\u50b55+", 42.52000045776367, "2018-07-26", "2023-02-24"], "00745B.TWO": ["\u5bcc\u90a6\u4e2d\u653f\u50b50-1", 42.040000915527344, "2018-08-02", "2022-12-20"], "00746B.TWO": ["\u5bcc\u90a6A\u7d1a\u516c\u53f8\u50b5", 35.52000045776367, "2018-08-02", "2023-02-24"], "00747B.TWO": ["FH\u4e2d\u570b\u653f\u7b56\u50b5", 51.849998474121094, "2018-08-24", "2023-01-06"], "00748B.TWO": ["\u51f1\u57fa\u4e2d\u570b\u50b53-10", 42.52000045776367, "2018-09-06", "2023-02-24"], "00749B.TWO": ["\u51f1\u57fa\u65b0\u8208\u50b510+", 31.010000228881836, "2018-09-06", "2023-02-24"], "00750B.TWO": ["\u51f1\u57fa\u79d1\u6280\u50b510+", 33.470001220703125, "2018-09-06", "2023-02-24"], "00751B.TWO": ["\u5143\u5927AAA\u81f3A\u516c\u53f8\u50b5", 34.09000015258789, "2018-09-21", "2023-02-24"], "00754B.TWO": ["\u7fa4\u76caAAA-AA\u516c\u53f8\u50b5", 35.72999954223633, "2018-10-16", "2023-02-24"], "00755B.TWO": ["\u7fa4\u76ca15\u5e74IG\u516c\u7528\u50b5", 33.65999984741211, "2018-10-16", "2023-02-24"], "00756B.TWO": ["\u7fa4\u76ca15\u5e74EM\u4e3b\u6b0a\u50b5", 31.780000686645508, "2018-10-16", "2023-02-24"], "00758B.TWO": ["FH\u80fd\u6e90\u50b5", 50.099998474121094, "2018-11-05", "2023-02-24"], "00759B.TWO": ["FH\u88fd\u85e5\u50b5", 54.95000076293945, "2018-11-05", "2023-02-24"], "00760B.TWO": ["FH\u65b0\u8208\u4f01\u696d\u50b5", 51.54999923706055, "2018-11-05", "2023-02-24"], "00761B.TWO": ["\u570b\u6cf0A\u7d1a\u516c\u53f8\u50b5", 35.880001068115234, "2018-11-21", "2023-02-24"], "00764B.TWO": ["\u7fa4\u76ca25\u5e74\u7f8e\u50b5", 32.52000045776367, "2018-12-06", "2023-02-24"], "00765B.TWO": ["\u7fa4\u76ca\u4e2d\u570b\u653f\u91d1\u50b5", 39.34000015258789, "2018-12-06", "2023-02-24"], "00768B.TWO": ["FH20\u5e74\u7f8e\u50b5", 54.70000076293945, "2019-01-16", "2023-02-24"], "00772B.TWO": ["\u4e2d\u4fe1\u9ad8\u8a55\u7d1a\u516c\u53f8\u50b5", 34.5, "2019-01-23", "2023-02-24"], "00773B.TWO": ["\u4e2d\u4fe1\u512a\u5148\u91d1\u878d\u50b5", 35.06999969482422, "2019-01-23", "2023-02-24"], "00777B.TWO": ["\u51f1\u57faAAA\u81f3A\u516c\u53f8\u50b5", 34.209999084472656, "2019-01-30", "2023-02-24"], "00778B.TWO": ["\u51f1\u57fa\u91d1\u878d\u50b520+", 34.869998931884766, "2019-01-30", "2023-02-24"], "00779B.TWO": ["\u51f1\u57fa\u7f8e\u50b525+", 32.810001373291016, "2019-01-30", "2023-02-24"], "00780B.TWO": ["\u570b\u6cf0A\u7d1a\u91d1\u878d\u50b5", 34.95000076293945, "2019-02-26", "2023-02-24"], "00781B.TWO": ["\u570b\u6cf0A\u7d1a\u79d1\u6280\u50b5", 32.15999984741211, "2019-02-26", "2023-02-24"], "00782B.TWO": ["\u570b\u6cf0A\u7d1a\u516c\u7528\u50b5", 32.38999938964844, "2019-02-26", "2023-02-24"], "00784B.TWO": ["\u5bcc\u90a6\u4e2d\u570b\u6295\u7b49\u50b5", 35.43000030517578, "2019-03-21", "2023-02-24"], "00785B.TWO": ["\u5bcc\u90a6\u91d1\u878d\u6295\u7b49\u50b5", 33.90999984741211, "2019-03-21", "2023-02-24"], "00786B.TWO": ["\u5143\u592710\u5e74IG\u9280\u884c\u50b5", 32.77000045776367, "2019-03-25", "2023-02-24"], "00787B.TWO": ["\u5143\u592710\u5e74IG\u91ab\u7642\u50b5", 34.150001525878906, "2019-03-25", "2023-02-24"], "00788B.TWO": ["\u5143\u592710\u5e74IG\u96fb\u80fd\u50b5", 31.469999313354492, "2019-03-25", "2023-02-24"], "00789B.TWO": ["FH\u516c\u53f8\u50b5A3", 51.099998474121094, "2019-03-11", "2023-02-24"], "00790B.TWO": ["FH\u6b21\u9806\u4f4dIG\u91d1\u878d\u50b5", 52.0, "2019-03-11", "2023-02-24"], "00791B.TWO": ["FH\u7f8e\u5143\u4fe1\u7528\u50b51-5Y", 52.150001525878906, "2019-03-11", "2023-02-24"], "00792B.TWO": ["\u7fa4\u76caA\u7d1a\u516c\u53f8\u50b5", 33.11000061035156, "2019-03-28", "2023-02-24"], "00793B.TWO": ["\u7fa4\u76caAAA-A\u91ab\u7642\u50b5", 32.7599983215332, "2019-03-28", "2023-02-24"], "00794B.TWO": ["\u7fa4\u76ca7+\u4e2d\u570b\u653f\u91d1\u50b5", 39.47999954223633, "2019-03-28", "2023-02-24"], "00795B.TWO": ["\u4e2d\u4fe1\u7f8e\u570b\u516c\u50b520\u5e74", 31.469999313354492, "2019-04-02", "2023-02-24"], "00796B.TWO": ["\u4e2d\u4fe1\u4e2d\u570b\u50b57-10", 41.84000015258789, "2019-04-02", "2022-09-06"], "00799B.TWO": ["\u570b\u6cf0A\u7d1a\u91ab\u7642\u50b5", 32.77000045776367, "2019-04-24", "2023-02-24"], "00831B.TWO": ["\u65b0\u5149\u7f8e\u50b51-3", 37.0, "2019-04-22", "2023-02-24"], "00832B.TWO": ["\u65b0\u5149\u7f8e\u50b520+", 42.91999816894531, "2019-04-22", "2021-09-17"], "00833B.TWO": ["\u7b2c\u4e00\u91d1\u7f8e\u50b520+", 43.869998931884766, "2019-04-30", "2020-12-10"], "00834B.TWO": ["\u7b2c\u4e00\u91d1\u91d1\u878d\u50b510+", 33.29999923706055, "2019-04-30", "2023-02-24"], "00836B.TWO": ["\u6c38\u8c5010\u5e74A\u516c\u53f8\u50b5", 30.1200008392334, "2019-05-15", "2023-02-24"], "00838B.TWO": ["\u6c38\u8c507-10\u5e74\u4e2d\u570b\u50b5", 40.380001068115234, "2019-05-15", "2022-06-20"], "00839B.TWO": ["\u51f1\u57fa\u91ab\u7642\u4fdd\u5065\u50b5", 41.849998474121094, "2019-06-03", "2021-08-12"], "00840B.TWO": ["\u51f1\u57faIG\u7cbe\u907815+", 31.0, "2019-06-03", "2023-02-24"], "00841B.TWO": ["\u51f1\u57faAAA-AA\u516c\u53f8\u50b5", 31.010000228881836, "2019-06-03", "2023-02-24"], "00842B.TWO": ["\u53f0\u65b0\u7f8e\u5143\u9280\u884c\u50b5", 31.93000030517578, "2019-06-05", "2023-02-24"], "00843B.TWO": ["\u53f0\u65b0\u4e2d\u570b\u653f\u7b56\u50b5", 40.369998931884766, "2019-06-05", "2022-07-27"], "00844B.TWO": ["\u65b0\u514915\u5e74IG\u91d1\u878d\u50b5", 31.399999618530273, "2019-07-12", "2023-02-24"], "00845B.TWO": ["\u5bcc\u90a6\u65b0\u8208\u6295\u7b49\u50b5", 30.719999313354492, "2019-07-08", "2023-02-24"], "00846B.TWO": ["\u5bcc\u90a6\u6b50\u6d32\u9280\u884c\u50b5", 32.130001068115234, "2019-07-08", "2023-02-24"], "00847B.TWO": ["\u4e2d\u4fe1\u7f8e\u570b\u5e02\u653f\u50b5", 27.530000686645508, "2019-07-24", "2023-02-24"], "00848B.TWO": ["\u4e2d\u4fe1\u65b0\u8208\u4e9e\u6d32\u50b5", 32.869998931884766, "2019-07-24", "2023-02-24"], "00849B.TWO": ["\u4e2d\u4fe1EM\u4e3b\u6b0a\u50b50-5", 35.189998626708984, "2019-07-24", "2023-02-24"], "00853B.TWO": ["\u7d71\u4e00\u7f8e\u50b510\u5e74Aa-A", 28.579999923706055, "2019-08-28", "2023-02-24"], "00856B.TWO": ["\u6c38\u8c501-3\u5e74\u7f8e\u516c\u50b5", 37.0, "2019-09-20", "2023-02-24"], "00857B.TWO": ["\u6c38\u8c5020\u5e74\u7f8e\u516c\u50b5", 27.329999923706055, "2019-09-20", "2023-02-24"], "00858.TWO": ["\u6c38\u8c50\u7f8e\u570b500\u5927", 24.93000030517578, "2019-09-20", "2023-02-24"], "00859B.TWO": ["\u7fa4\u76ca0-1\u5e74\u7f8e\u50b5", 39.0, "2019-10-09", "2023-02-24"], "00860B.TWO": ["\u7fa4\u76ca1-5\u5e74IG\u50b5", 36.29999923706055, "2019-10-09", "2023-02-24"], "00862B.TWO": ["\u4e2d\u4fe1\u6295\u8cc7\u7d1a\u516c\u53f8\u50b5", 31.100000381469727, "2019-10-09", "2023-02-24"], "00863B.TWO": ["\u4e2d\u4fe1\u5168\u7403\u96fb\u4fe1\u50b5", 31.850000381469727, "2019-10-09", "2023-02-24"], "00864B.TWO": ["\u4e2d\u4fe1\u7f8e\u570b\u516c\u50b50-1", 40.459999084472656, "2019-10-09", "2023-02-24"], "00867B.TWO": ["\u65b0\u5149A-BBB\u96fb\u4fe1\u50b5", 31.040000915527344, "2019-11-12", "2023-02-24"], "00868B.TWO": ["FT1-3\u5e74\u7f8e\u516c\u50b5", 36.16999816894531, "2019-12-09", "2021-05-21"], "00869B.TWO": ["FT10-25\u5e74\u516c\u53f8\u50b5", 36.689998626708984, "2019-12-09", "2021-08-25"], "00870B.TWO": ["\u5143\u592715\u5e74EM\u4e3b\u6b0a\u50b5", 28.940000534057617, "2019-12-27", "2023-02-24"], "00871B.TWO": ["\u5143\u5927\u4e2d\u570b\u653f\u91d1\u50b5", 39.060001373291016, "2019-12-30", "2021-03-15"], "00872B.TWO": ["\u51f1\u57fa\u7f8e\u50b51-3", 37.130001068115234, "2019-12-31", "2021-10-19"], "00873B.TWO": ["\u51f1\u57fa\u65b0\u8208\u50b51-5", 37.279998779296875, "2019-12-31", "2021-03-03"], "00874B.TWO": ["\u51f1\u57faBBB\u516c\u53f8\u50b515+", 38.040000915527344, "2019-12-31", "2021-03-03"], "00877.TWO": ["FH\u4e2d\u570b5G", 9.859999656677246, "2020-07-15", "2023-02-24"], "00879B.TWO": ["\u7b2c\u4e00\u91d1\u7f8e\u50b50-1", 36.61000061035156, "2020-08-07", "2021-10-14"], "00880B.TWO": ["\u7b2c\u4e00\u91d1\u96fb\u4fe1\u50b515+", 35.349998474121094, "2020-08-07", "2021-10-14"], "1240.TWO": ["\u8302\u751f\u8fb2\u7d93", 47.150001525878906, "2017-07-25", "2023-02-24"], "1258.TWO": ["\u5176\u7965-KY", 26.100000381469727, "2011-12-13", "2023-02-24"], "1259.TWO": ["\u5b89\u5fc3", 80.5, "2011-12-16", "2023-02-24"], "1264.TWO": ["\u5fb7\u9ea5", 270.5, "2014-02-26", "2023-02-24"], "1268.TWO": ["\u6f22\u4f86\u7f8e\u98df", 155.5, "2015-12-25", "2023-02-24"], "1336.TWO": ["\u53f0\u7ff0", 30.0, "2008-01-02", "2023-02-24"], "1565.TWO": ["\u7cbe\u83ef", 260.5, "2008-01-02", "2023-02-24"], "1569.TWO": ["\u6ff1\u5ddd", 24.200000762939453, "2008-01-02", "2023-02-24"], "1570.TWO": ["\u529b\u80af", 18.450000762939453, "2008-01-02", "2023-02-24"], "1580.TWO": ["\u65b0\u9ea5", 96.19999694824219, "2008-01-02", "2023-02-24"], "1584.TWO": ["\u7cbe\u525b", 29.100000381469727, "2008-01-02", "2023-02-24"], "1586.TWO": ["\u548c\u52e4", 34.0, "2012-01-10", "2023-02-24"], "1591.TWO": ["\u99ff\u5409-KY", 26.0, "2012-03-26", "2023-02-24"], "1593.TWO": ["\u797a\u9a4a", 87.9000015258789, "2012-06-14", "2023-02-24"], "1595.TWO": ["\u5ddd\u5bf6", 40.599998474121094, "2011-10-05", "2023-02-24"], "1599.TWO": ["\u5b8f\u4f73\u9a30", 39.5, "2012-06-25", "2023-02-24"], "1742.TWO": ["\u53f0\u881f", 14.600000381469727, "2008-01-02", "2023-02-24"], "1777.TWO": ["\u751f\u6cf0", 87.69999694824219, "2008-01-02", "2023-02-24"], "1781.TWO": ["\u5408\u4e16", 15.600000381469727, "2008-01-02", "2023-02-24"], "1784.TWO": ["\u8a0a\u806f", 43.25, "2008-01-02", "2023-02-24"], "1785.TWO": ["\u5149\u6d0b\u79d1", 37.0, "2008-01-02", "2023-02-24"], "1788.TWO": ["\u674f\u660c", 146.0, "2007-12-31", "2023-02-24"], "1796.TWO": ["\u91d1\u7a4e\u751f\u6280", 90.0999984741211, "2016-07-27", "2023-02-24"], "1799.TWO": ["\u6613\u5a01", 16.399999618530273, "2008-01-02", "2023-02-24"], "1813.TWO": ["\u5bf6\u5229\u5fa0", 22.5, "2008-01-02", "2023-02-24"], "1815.TWO": ["\u5bcc\u55ac", 12.699999809265137, "2008-01-02", "2023-02-24"], "2035.TWO": ["\u5510\u69ae", 32.04999923706055, "2008-01-02", "2023-02-24"], "2061.TWO": ["\u98a8\u9752", 26.350000381469727, "2008-01-02", "2023-02-24"], "2063.TWO": ["\u4e16\u93a7", 47.599998474121094, "2010-09-08", "2023-02-24"], "2064.TWO": ["\u6649\u693f", 19.450000762939453, "2012-06-28", "2023-02-24"], "2065.TWO": ["\u4e16\u8c50", 58.099998474121094, "2013-03-21", "2023-02-24"], "2066.TWO": ["\u4e16\u5fb7", 84.19999694824219, "2012-08-10", "2023-02-24"], "2067.TWO": ["\u5609\u92fc", 10.699999809265137, "2012-11-06", "2023-02-24"], "2070.TWO": ["\u7cbe\u6e5b", 36.900001525878906, "2016-04-07", "2023-02-24"], "2221.TWO": ["\u5927\u7532", 40.54999923706055, "2008-01-02", "2023-02-24"], "2230.TWO": ["\u6cf0\u8302", 71.80000305175781, "2008-01-02", "2023-02-24"], "2235.TWO": ["\u8b1a\u6e90", 47.04999923706055, "2012-08-07", "2023-02-24"], "2596.TWO": ["\u7da0\u610f", 19.950000762939453, "2008-01-02", "2023-02-24"], "2640.TWO": ["\u5927\u8eca\u968a", 108.0, "2012-06-22", "2023-02-24"], "2641.TWO": ["\u6b63\u5fb7", 19.75, "2012-06-22", "2023-02-24"], "2643.TWO": ["\u6377\u8fc5", 72.0, "2014-11-27", "2023-02-24"], "2718.TWO": ["\u6676\u6085", 35.20000076293945, "2007-01-31", "2023-02-24"], "2719.TWO": ["\u71e6\u661f\u65c5", 55.20000076293945, "2008-01-29", "2023-02-24"], "2724.TWO": ["\u5bcc\u9a5b-KY", 14.0, "2012-05-30", "2023-02-24"], "2726.TWO": ["\u96c5\u8317-KY", 29.049999237060547, "2014-12-25", "2023-02-24"], "2729.TWO": ["\u74e6\u57ce", 255.5, "2012-06-21", "2023-02-24"], "2732.TWO": ["\u516d\u89d2", 162.5, "2012-12-19", "2023-02-24"], "2734.TWO": ["\u6613\u98db\u7db2", 35.04999923706055, "2013-03-01", "2023-02-24"], "2736.TWO": ["\u9ad8\u91ce", 28.0, "2013-12-16", "2023-02-24"], "2740.TWO": ["\u5929\u8525", 47.0, "2014-12-30", "2023-02-24"], "2743.TWO": ["\u5c71\u5bcc", 64.0, "2015-03-26", "2023-02-24"], "2745.TWO": ["\u4e94\u798f", 42.349998474121094, "2015-09-15", "2023-02-24"], "2752.TWO": ["\u8c46\u5e9c", 259.0, "2018-08-20", "2023-02-24"], "2754.TWO": ["\u4e9e\u6d32\u85cf\u58fd\u53f8", 207.0, "2019-07-01", "2023-02-24"], "2916.TWO": ["\u6eff\u5fc3", 31.5, "2008-01-02", "2023-02-24"], "2924.TWO": ["\u6771\u51cc-KY", 37.400001525878906, "2011-12-05", "2023-02-24"], "2926.TWO": ["\u8aa0\u54c1\u751f\u6d3b", 59.099998474121094, "2012-06-22", "2023-02-24"], "2937.TWO": ["\u96c6\u96c5\u793e", 38.099998474121094, "2016-03-22", "2023-02-24"], "3064.TWO": ["\u6cf0\u5049", 14.050000190734863, "2008-01-02", "2023-02-24"], "3066.TWO": ["\u674e\u6d32", 24.200000762939453, "2008-01-02", "2023-02-24"], "3067.TWO": ["\u5168\u57df", 33.0, "2007-12-31", "2023-02-24"], "3071.TWO": ["\u5354\u79a7", 25.850000381469727, "2008-01-02", "2023-02-24"], "3073.TWO": ["\u5929\u65b9\u80fd\u6e90", 33.79999923706055, "2008-01-02", "2023-02-24"], "3078.TWO": ["\u50d1\u5a01", 32.45000076293945, "2008-01-02", "2023-02-24"], "3081.TWO": ["\u806f\u4e9e", 131.5, "2014-07-16", "2023-02-24"], "3083.TWO": ["\u7db2\u9f8d", 45.70000076293945, "2008-01-02", "2023-02-24"], "3085.TWO": ["\u65b0\u96f6\u552e", 22.200000762939453, "2008-01-02", "2023-02-24"], "3086.TWO": ["\u83ef\u7fa9", 79.19999694824219, "2008-01-02", "2023-02-24"], "3088.TWO": ["\u827e\u8a0a", 68.5, "2008-01-02", "2023-02-24"], "3089.TWO": ["\u5143\u70ac", 60.400001525878906, "2008-01-02", "2023-02-24"], "3093.TWO": ["\u6e2f\u5efa", 30.899999618530273, "2008-01-02", "2023-02-24"], "3095.TWO": ["\u53ca\u6210", 32.900001525878906, "2008-01-02", "2023-02-24"], "3105.TWO": ["\u7a69\u61cb", 170.0, "2011-12-14", "2023-02-24"], "3114.TWO": ["\u597d\u5fb7", 27.0, "2008-01-02", "2023-02-24"], "3115.TWO": ["\u5bf6\u5cf6\u6975", 12.149999618530273, "2008-01-02", "2023-02-24"], "3118.TWO": ["\u9032\u968e", 28.5, "2008-08-21", "2023-02-24"], "3122.TWO": ["\u7b19\u6cc9", 28.200000762939453, "2012-06-21", "2023-02-24"], "3128.TWO": ["\u6607\u92b3", 45.650001525878906, "2008-01-02", "2023-02-24"], "3131.TWO": ["\u5f18\u5851", 256.0, "2011-01-18", "2023-02-24"], "3141.TWO": ["\u6676\u5b8f", 108.0, "2008-01-02", "2023-02-24"], "3147.TWO": ["\u5927\u7d9c", 60.0, "2013-10-01", "2023-02-24"], "3152.TWO": ["\u749f\u5fb7", 235.5, "2008-03-25", "2023-02-24"], "3162.TWO": ["\u7cbe\u78ba", 53.900001525878906, "2008-01-02", "2023-02-24"], "3163.TWO": ["\u6ce2\u82e5\u5a01", 55.79999923706055, "2012-06-21", "2023-02-24"], "3169.TWO": ["\u4e9e\u4fe1", 115.0, "2008-01-02", "2023-02-24"], "3171.TWO": ["\u65b0\u6d32", 17.299999237060547, "2008-01-02", "2023-02-24"], "3176.TWO": ["\u57fa\u4e9e", 32.599998474121094, "2008-01-02", "2023-02-24"], "3178.TWO": ["\u516c\u6e96", 68.69999694824219, "2008-01-02", "2023-02-24"], "3188.TWO": ["\u946b\u9f8d\u9a30", 12.899999618530273, "2008-01-02", "2023-02-24"], "3191.TWO": ["\u548c\u9032", 8.100000381469727, "2008-01-02", "2023-02-24"], "3202.TWO": ["\u6a3a\u665f", 14.949999809265137, "2008-01-02", "2023-02-24"], "3205.TWO": ["\u4f70\u7814", 43.70000076293945, "2008-01-02", "2023-02-24"], "3206.TWO": ["\u5fd7\u8c50", 30.600000381469727, "2008-01-02", "2023-02-24"], "3207.TWO": ["\u8000\u52dd", 71.4000015258789, "2008-01-02", "2023-02-24"], "3211.TWO": ["\u9806\u9054", 81.9000015258789, "2008-01-02", "2023-02-24"], "3213.TWO": ["\u8302\u8a0a", 47.599998474121094, "2008-01-02", "2023-02-24"], "3217.TWO": ["\u512a\u7fa4", 94.0, "2008-01-02", "2023-02-24"], "3218.TWO": ["\u5927\u5b78\u5149", 324.0, "2008-01-02", "2023-02-24"], "3219.TWO": ["\u501a\u5f37\u80a1\u4efd", 60.900001525878906, "2008-01-02", "2023-02-24"], "3221.TWO": ["\u53f0\u5609\u78a9", 29.0, "2008-01-02", "2023-02-24"], "3224.TWO": ["\u4e09\u9867", 47.599998474121094, "2008-01-02", "2023-02-24"], "3226.TWO": ["\u81f3\u5bf6\u96fb", 55.599998474121094, "2008-01-02", "2023-02-24"], "3227.TWO": ["\u539f\u76f8", 111.0, "2008-01-02", "2023-02-24"], "3228.TWO": ["\u91d1\u9e97\u79d1", 195.5, "2008-01-02", "2023-02-24"], "3230.TWO": ["\u9326\u660e", 12.199999809265137, "2008-01-02", "2023-02-24"], "3232.TWO": ["\u6631\u6377", 31.299999237060547, "2008-01-02", "2023-02-24"], "3234.TWO": ["\u5149\u74b0", 23.100000381469727, "2008-01-02", "2023-02-24"], "3236.TWO": ["\u5343\u5982", 25.200000762939453, "2008-01-02", "2023-02-24"], "3252.TWO": ["\u6d77\u7063", 20.350000381469727, "2008-01-02", "2023-02-24"], "3259.TWO": ["\u946b\u5275", 20.549999237060547, "2008-01-02", "2023-02-24"], "3260.TWO": ["\u5a01\u525b", 66.30000305175781, "2008-01-02", "2023-02-24"], "3264.TWO": ["\u6b23\u9293", 56.099998474121094, "2008-01-02", "2023-02-24"], "3265.TWO": ["\u53f0\u661f\u79d1", 50.70000076293945, "2008-01-02", "2023-02-24"], "3268.TWO": ["\u6d77\u5fb7\u5a01", 23.100000381469727, "2008-01-02", "2023-02-24"], "3272.TWO": ["\u6771\u78a9", 42.20000076293945, "2008-01-02", "2023-02-24"], "3276.TWO": ["\u5b87\u74b0", 14.199999809265137, "2008-01-02", "2023-02-24"], "3284.TWO": ["\u592a\u666e\u9ad8", 14.350000381469727, "2008-01-02", "2023-02-24"], "3285.TWO": ["\u5fae\u7aef", 19.850000381469727, "2008-01-02", "2023-02-24"], "3287.TWO": ["\u5ee3\u5bf0\u79d1", 13.899999618530273, "2008-01-29", "2023-02-24"], "3288.TWO": ["\u9ede\u6676", 21.899999618530273, "2008-01-02", "2023-02-24"], "3289.TWO": ["\u5b9c\u7279", 85.5, "2008-01-02", "2023-02-24"], "3290.TWO": ["\u6771\u6d66", 27.950000762939453, "2008-01-02", "2023-02-24"], "3293.TWO": ["\u920a\u8c61", 505.0, "2008-01-02", "2023-02-24"], "3294.TWO": ["\u82f1\u6fdf", 17.649999618530273, "2008-01-02", "2023-02-24"], "3297.TWO": ["\u676d\u7279", 17.850000381469727, "2008-01-02", "2023-02-24"], "3303.TWO": ["\u5cb1\u7a1c", 27.100000381469727, "2008-01-02", "2023-02-24"], "3306.TWO": ["\u9f0e\u5929", 23.549999237060547, "2008-01-02", "2023-02-24"], "3310.TWO": ["\u4f73\u7a4e", 58.900001525878906, "2008-08-21", "2023-02-24"], "3313.TWO": ["\u6590\u6210", 10.949999809265137, "2008-01-02", "2023-02-24"], "3317.TWO": ["\u5c3c\u514b\u68ee", 57.400001525878906, "2008-01-02", "2023-02-24"], "3322.TWO": ["\u5efa\u821c\u96fb", 20.799999237060547, "2008-01-02", "2023-02-24"], "3323.TWO": ["\u52a0\u767e\u88d5", 35.20000076293945, "2008-01-02", "2023-02-24"], "3324.TWO": ["\u96d9\u9d3b", 161.0, "2008-01-02", "2023-02-24"], "3325.TWO": ["\u65ed\u54c1", 13.850000381469727, "2008-01-02", "2023-02-24"], "3332.TWO": ["\u5e78\u5eb7", 47.150001525878906, "2008-01-25", "2023-02-24"], "3339.TWO": ["\u6cf0\u8c37", 13.050000190734863, "2008-01-02", "2023-02-24"], "3354.TWO": ["\u5f8b\u52dd", 14.149999618530273, "2008-01-02", "2023-02-24"], "3360.TWO": ["\u5c1a\u7acb", 14.149999618530273, "2008-01-02", "2023-02-24"], "3362.TWO": ["\u5148\u9032\u5149", 83.30000305175781, "2008-01-02", "2023-02-24"], "3363.TWO": ["\u4e0a\u8a6e", 24.25, "2008-01-02", "2023-02-24"], "3372.TWO": ["\u5178\u7bc4", 12.0, "2008-01-02", "2023-02-24"], "3373.TWO": ["\u71b1\u6620", 25.950000762939453, "2008-01-02", "2023-02-24"], "3374.TWO": ["\u7cbe\u6750", 103.0, "2008-01-02", "2023-02-24"], "3379.TWO": ["\u5f6c\u53f0", 12.0, "2008-01-02", "2023-02-24"], "3388.TWO": ["\u5d07\u8d8a\u96fb", 75.0, "2008-01-02", "2023-02-24"], "3390.TWO": ["\u65ed\u8edf", 19.299999237060547, "2008-01-02", "2023-02-24"], "3402.TWO": ["\u6f22\u79d1", 47.099998474121094, "2008-01-02", "2023-02-24"], "3426.TWO": ["\u53f0\u8208", 38.20000076293945, "2015-09-14", "2023-02-24"], "3434.TWO": ["\u54f2\u56fa", 24.5, "2008-01-29", "2023-02-24"], "3438.TWO": ["\u985e\u6bd4\u79d1", 58.400001525878906, "2008-01-02", "2023-02-24"], "3441.TWO": ["\u806f\u4e00\u5149", 40.04999923706055, "2007-12-31", "2023-02-24"], "3444.TWO": ["\u5229\u6a5f", 62.70000076293945, "2008-10-02", "2023-02-24"], "3455.TWO": ["\u7531\u7530", 90.5999984741211, "2008-01-02", "2023-02-24"], "3465.TWO": ["\u9032\u6cf0\u96fb\u5b50", 95.30000305175781, "2008-01-29", "2023-02-24"], "3466.TWO": ["\u81f4\u632f", 28.350000381469727, "2008-01-02", "2023-02-24"], "3479.TWO": ["\u5b89\u52e4", 85.9000015258789, "2008-01-02", "2023-02-24"], "3483.TWO": ["\u529b\u81f4", 62.599998474121094, "2008-01-02", "2023-02-24"], "3484.TWO": ["\u5d27\u9a30", 47.04999923706055, "2008-01-02", "2023-02-24"], "3489.TWO": ["\u68ee\u5bf6", 10.600000381469727, "2008-01-02", "2023-02-24"], "3490.TWO": ["\u55ae\u4e95", 25.600000381469727, "2008-01-02", "2023-02-24"], "3491.TWO": ["\u6607\u9054\u79d1", 149.5, "2008-01-04", "2023-02-24"], "3492.TWO": ["\u9577\u76db", 19.25, "2008-01-02", "2023-02-24"], "3498.TWO": ["\u967d\u7a0b", 33.70000076293945, "2008-01-02", "2023-02-24"], "3499.TWO": ["\u74b0\u5929\u79d1", 18.299999237060547, "2008-01-02", "2023-02-24"], "3508.TWO": ["\u4f4d\u901f", 39.349998474121094, "2008-01-02", "2023-02-24"], "3511.TWO": ["\u77fd\u746a", 35.400001525878906, "2007-11-30", "2023-02-24"], "3512.TWO": ["\u7687\u9f8d", 29.0, "2008-01-02", "2023-02-24"], "3516.TWO": ["\u4e9e\u5e1d\u6b50", 16.149999618530273, "2008-01-02", "2023-02-24"], "3520.TWO": ["\u83ef\u76c8", 21.799999237060547, "2008-01-02", "2023-02-24"], "3521.TWO": ["\u9d3b\u7fca", 22.75, "2008-01-02", "2023-02-24"], "3522.TWO": ["\u5fa1\u9802", 12.25, "2008-01-02", "2023-02-24"], "3523.TWO": ["\u8fce\u8f1d", 19.25, "2008-01-02", "2023-02-24"], "3526.TWO": ["\u51e1\u7532", 133.0, "2008-01-02", "2023-02-24"], "3527.TWO": ["\u805a\u7a4d", 116.0, "2008-01-02", "2023-02-24"], "3529.TWO": ["\u529b\u65fa", 1870.0, "2007-12-31", "2023-02-24"], "3531.TWO": ["\u5148\u76ca", 27.850000381469727, "2008-08-21", "2023-02-24"], "3537.TWO": ["\u5821\u9054", 39.150001525878906, "2007-12-24", "2023-02-24"], "3540.TWO": ["\u66dc\u8d8a", 33.849998474121094, "2008-01-02", "2023-02-24"], "3541.TWO": ["\u897f\u67cf", 57.70000076293945, "2007-12-31", "2023-02-24"], "3546.TWO": ["\u5b87\u5cfb", 75.19999694824219, "2008-08-21", "2023-02-24"], "3548.TWO": ["\u5146\u5229", 67.69999694824219, "2008-03-28", "2023-02-24"], "3551.TWO": ["\u4e16\u79be", 62.099998474121094, "2008-08-21", "2023-02-24"], "3552.TWO": ["\u540c\u81f4", 153.0, "2007-12-28", "2023-02-24"], "3555.TWO": ["\u91cd\u9d6c", 26.850000381469727, "2008-01-02", "2023-02-24"], "3556.TWO": ["\u79be\u745e\u4e9e", 62.79999923706055, "2008-08-21", "2023-02-24"], "3558.TWO": ["\u795e\u6e96", 297.0, "2008-01-02", "2023-02-24"], "3564.TWO": ["\u5176\u967d", 39.849998474121094, "2007-12-28", "2023-02-24"], "3567.TWO": ["\u9038\u660c", 27.75, "2008-01-02", "2023-02-24"], "3570.TWO": ["\u5927\u585a", 96.5999984741211, "2007-12-20", "2023-02-24"], "3577.TWO": ["\u6cd3\u683c", 81.9000015258789, "2007-12-31", "2023-02-24"], "3580.TWO": ["\u53cb\u5a01\u79d1", 59.099998474121094, "2008-01-02", "2023-02-24"], "3581.TWO": ["\u535a\u78ca", 22.799999237060547, "2008-01-02", "2023-02-24"], "3587.TWO": ["\u958e\u5eb7", 181.0, "2008-01-22", "2023-02-24"], "3594.TWO": ["\u78d0\u5100", 45.0, "2008-01-02", "2023-02-24"], "3597.TWO": ["\u6620\u8208", 24.100000381469727, "2012-06-25", "2023-02-24"], "3609.TWO": ["\u6771\u6797", 45.5, "2011-01-12", "2023-02-24"], "3611.TWO": ["\u9f0e\u7ff0", 215.0, "2010-02-23", "2023-02-24"], "3615.TWO": ["\u5b89\u53ef", 17.700000762939453, "2010-02-23", "2023-02-24"], "3623.TWO": ["\u5bcc\u6676\u901a", 16.850000381469727, "2010-04-29", "2023-02-24"], "3624.TWO": ["\u5149\u9821", 57.70000076293945, "2011-03-17", "2023-02-24"], "3625.TWO": ["\u897f\u52dd", 13.449999809265137, "2010-02-23", "2023-02-24"], "3628.TWO": ["\u76c8\u6b63", 44.150001525878906, "2010-09-10", "2023-02-24"], "3629.TWO": ["\u5730\u5fc3\u5f15\u529b", 38.75, "2010-05-28", "2023-02-24"], "3630.TWO": ["\u65b0\u9245\u79d1", 28.75, "2010-04-27", "2023-02-24"], "3631.TWO": ["\u665f\u6960", 37.349998474121094, "2010-12-21", "2023-02-24"], "3632.TWO": ["\u7814\u52e4", 11.949999809265137, "2011-01-12", "2023-02-24"], "3642.TWO": ["\u99ff\u71a0\u96fb", 3.869999885559082, "2011-09-30", "2023-02-24"], "3646.TWO": ["\u827e\u6069\u7279", 26.0, "2012-03-28", "2023-02-24"], "3663.TWO": ["\u946b\u79d1", 29.899999618530273, "2012-06-21", "2023-02-24"], "3664.TWO": ["\u5b89\u745e-KY", 15.100000381469727, "2010-06-25", "2023-02-24"], "3666.TWO": ["\u5149\u8000", 19.549999237060547, "2012-06-21", "2023-02-24"], "3672.TWO": ["\u5eb7\u806f\u8a0a", 27.200000762939453, "2014-01-14", "2023-02-24"], "3675.TWO": ["\u5fb7\u5fae", 256.5, "2012-06-21", "2023-02-24"], "3680.TWO": ["\u5bb6\u767b", 291.0, "2011-09-01", "2023-02-24"], "3684.TWO": ["\u69ae\u660c", 64.19999694824219, "2012-06-21", "2023-02-24"], "3685.TWO": ["\u5143\u5275\u7cbe\u5bc6", 21.200000762939453, "2010-12-09", "2023-02-24"], "3687.TWO": ["\u6b50\u8cb7\u5c2c", 86.30000305175781, "2011-01-12", "2023-02-24"], "3689.TWO": ["\u6e67\u5fb7", 34.79999923706055, "2012-06-22", "2023-02-24"], "3691.TWO": ["\u78a9\u79be", 108.0, "2010-11-19", "2023-02-24"], "3693.TWO": ["\u71df\u90a6", 126.5, "2012-06-22", "2023-02-24"], "3707.TWO": ["\u6f22\u78ca", 93.0999984741211, "2008-01-02", "2023-02-24"], "3709.TWO": ["\u946b\u806f\u5927\u6295\u63a7", 23.649999618530273, "2017-09-04", "2023-02-24"], "3710.TWO": ["\u9023\u5c55\u6295\u63a7", 12.149999618530273, "2008-01-02", "2023-02-24"], "3713.TWO": ["\u65b0\u6676\u6295\u63a7", 29.100000381469727, "2020-03-04", "2023-02-24"], "4102.TWO": ["\u6c38\u65e5", 28.600000381469727, "2008-01-02", "2023-02-24"], "4105.TWO": ["\u6771\u6d0b", 78.4000015258789, "2008-01-02", "2023-02-24"], "4107.TWO": ["\u90a6\u7279", 115.5, "2008-01-02", "2023-02-24"], "4109.TWO": ["\u52a0\u6377\u751f\u91ab", 14.850000381469727, "2008-01-02", "2023-02-24"], "4111.TWO": ["\u6fdf\u751f", 26.850000381469727, "2008-01-02", "2023-02-24"], "4113.TWO": ["\u806f\u4e0a", 14.100000381469727, "2008-01-02", "2023-02-24"], "4114.TWO": ["\u5065\u55ac", 47.75, "2008-01-02", "2023-02-24"], "4116.TWO": ["\u660e\u57fa\u91ab", 63.599998474121094, "2008-01-02", "2023-02-24"], "4120.TWO": ["\u53cb\u83ef", 36.29999923706055, "2008-01-02", "2023-02-24"], "4121.TWO": ["\u512a\u76db", 24.200000762939453, "2008-01-02", "2023-02-24"], "4123.TWO": ["\u665f\u5fb7", 47.29999923706055, "2008-01-02", "2023-02-24"], "4126.TWO": ["\u592a\u91ab", 78.0999984741211, "2008-01-02", "2023-02-24"], "4127.TWO": ["\u5929\u826f", 14.550000190734863, "2008-01-02", "2023-02-24"], "4128.TWO": ["\u4e2d\u5929", 64.80000305175781, "2008-01-02", "2023-02-24"], "4129.TWO": ["\u806f\u5408", 48.75, "2008-01-02", "2023-02-24"], "4130.TWO": ["\u5065\u4e9e", 28.75, "2007-12-31", "2023-02-24"], "4131.TWO": ["\u6676\u5b87", 21.600000381469727, "2008-01-02", "2023-02-24"], "4138.TWO": ["\u66dc\u4e9e", 72.69999694824219, "2010-12-30", "2023-02-24"], "4139.TWO": ["\u99ac\u5149-KY", 39.0, "2011-05-03", "2023-02-24"], "4147.TWO": ["\u4e2d\u88d5", 79.5999984741211, "2012-06-21", "2023-02-24"], "4153.TWO": ["\u923a\u7def", 38.349998474121094, "2012-07-18", "2023-02-24"], "4154.TWO": ["\u5eb7\u6a02-KY", 35.0, "2011-12-29", "2023-02-24"], "4157.TWO": ["\u592a\u666f*-KY", 15.5, "2013-09-02", "2023-02-24"], "4160.TWO": ["\u5275\u6e90", 28.0, "2012-06-21", "2023-02-24"], "4161.TWO": ["\u807f\u65b0\u79d1", 26.950000762939453, "2012-06-21", "2023-02-24"], "4162.TWO": ["\u667a\u64ce", 114.5, "2012-06-21", "2023-02-24"], "4163.TWO": ["\u943f\u9226", 135.5, "2012-06-21", "2023-02-24"], "4167.TWO": ["\u677e\u745e\u85e5", 20.5, "2012-12-24", "2023-02-24"], "4168.TWO": ["\u91a3\u806f", 33.599998474121094, "2012-06-21", "2023-02-24"], "4171.TWO": ["\u745e\u57fa", 60.599998474121094, "2012-11-20", "2023-02-24"], "4173.TWO": ["\u4e45\u88d5", 18.899999618530273, "2012-07-11", "2023-02-24"], "4174.TWO": ["\u6d69\u9f0e", 81.80000305175781, "2012-12-13", "2023-02-24"], "4175.TWO": ["\u674f\u4e00", 78.80000305175781, "2012-12-24", "2023-02-24"], "4183.TWO": ["\u798f\u6c38\u751f\u6280", 18.899999618530273, "2012-11-14", "2023-02-24"], "4188.TWO": ["\u5b89\u514b", 16.75, "2013-12-27", "2023-02-24"], "4192.TWO": ["\u674f\u570b", 24.299999237060547, "2013-08-30", "2023-02-24"], "4198.TWO": ["\u6b23\u5927\u5065\u5eb7", 25.649999618530273, "2013-11-11", "2023-02-24"], "4205.TWO": ["\u4e2d\u83ef\u98df", 106.0, "2008-01-02", "2023-02-24"], "4207.TWO": ["\u74b0\u6cf0", 13.600000381469727, "2008-01-02", "2023-02-24"], "4303.TWO": ["\u4fe1\u7acb", 17.549999237060547, "2008-01-02", "2023-02-24"], "4304.TWO": ["\u52dd\u6631", 9.680000305175781, "2008-01-02", "2023-02-24"], "4305.TWO": ["\u4e16\u5764", 30.200000762939453, "2008-01-02", "2023-02-24"], "4401.TWO": ["\u6771\u9686\u8208", 27.350000381469727, "2008-01-02", "2023-02-24"], "4402.TWO": ["\u798f\u5927", 10.800000190734863, "2008-01-02", "2023-02-24"], "4406.TWO": ["\u65b0\u6615\u7e96", 10.5, "2008-01-02", "2023-02-24"], "4413.TWO": ["\u98db\u5bf6\u4f01\u696d", 18.0, "2008-01-02", "2023-02-24"], "4416.TWO": ["\u4e09\u5713", 87.0, "2008-01-02", "2023-02-24"], "4417.TWO": ["\u91d1\u6d32", 38.349998474121094, "2008-01-02", "2023-02-24"], "4419.TWO": ["\u5143\u52dd", 11.25, "2008-01-02", "2023-02-24"], "4420.TWO": ["\u5149\u660e", 29.899999618530273, "2008-01-02", "2023-02-24"], "4429.TWO": ["\u805a\u7d21", 40.79999923706055, "2010-09-16", "2022-05-30"], "4430.TWO": ["\u8000\u5104", 22.299999237060547, "2011-06-10", "2023-02-24"], "4432.TWO": ["\u9298\u65fa\u5be6", 28.0, "2012-06-21", "2023-02-24"], "4433.TWO": ["\u8208\u91c7", 38.04999923706055, "2013-02-19", "2023-02-24"], "4502.TWO": ["\u5065\u4fe1", 37.0, "2008-01-02", "2023-02-24"], "4503.TWO": ["\u91d1\u96e8", 46.5, "2008-01-02", "2023-02-24"], "4506.TWO": ["\u5d07\u53cb", 73.9000015258789, "2008-01-02", "2023-02-24"], "4510.TWO": ["\u9ad8\u92d2", 11.0, "2008-01-02", "2023-02-24"], "4513.TWO": ["\u798f\u88d5", 18.799999237060547, "2008-01-02", "2023-02-24"], "4523.TWO": ["\u6c38\u5f70", 44.20000076293945, "2008-01-02", "2023-02-24"], "4527.TWO": ["\u65b9\u571f\u9716", 29.0, "2008-01-02", "2023-02-24"], "4528.TWO": ["\u6c5f\u8208\u935b", 34.400001525878906, "2008-01-02", "2023-02-24"], "4529.TWO": ["\u6df3\u7d33", 10.800000190734863, "2008-01-02", "2023-02-24"], "4530.TWO": ["\u5b8f\u6613", 6.849999904632568, "2008-01-02", "2023-02-24"], "4533.TWO": ["\u5354\u6613\u6a5f", 11.899999618530273, "2008-01-02", "2023-02-24"], "4534.TWO": ["\u6176\u9a30", 9.170000076293945, "2008-01-02", "2023-02-24"], "4535.TWO": ["\u81f3\u8208", 38.099998474121094, "2008-01-02", "2023-02-24"], "4538.TWO": ["\u5927\u8a60\u57ce", 20.25, "2012-06-21", "2023-02-24"], "4541.TWO": ["\u665f\u7530", 31.149999618530273, "2013-06-26", "2023-02-24"], "4542.TWO": ["\u79d1\u5da0", 25.75, "2012-12-19", "2023-02-24"], "4543.TWO": ["\u842c\u5728", 24.299999237060547, "2014-10-08", "2023-02-24"], "4549.TWO": ["\u6853\u9054", 89.0, "2013-12-06", "2023-02-24"], "4550.TWO": ["\u9577\u4f73", 27.200000762939453, "2013-11-26", "2023-02-24"], "4554.TWO": ["\u6a59\u7684", 26.200000762939453, "2014-09-09", "2023-02-24"], "4556.TWO": ["\u65ed\u7136", 30.200000762939453, "2014-10-17", "2023-02-24"], "4561.TWO": ["\u5065\u693f", 22.700000762939453, "2016-12-01", "2023-02-24"], "4563.TWO": ["\u767e\u5fb7", 40.900001525878906, "2016-05-31", "2023-02-24"], "4568.TWO": ["\u79d1\u969b\u7cbe\u5bc6", 62.5, "2017-10-27", "2023-02-24"], "4580.TWO": ["\u6377\u6d41\u95a5\u696d", 83.4000015258789, "2018-12-17", "2023-02-24"], "4609.TWO": ["\u5510\u92d2", 8.020000457763672, "2008-01-02", "2023-02-24"], "4702.TWO": ["\u4e2d\u7f8e\u5be6", 12.800000190734863, "2008-01-02", "2023-02-24"], "4706.TWO": ["\u5927\u606d", 17.25, "2008-01-02", "2023-02-24"], "4707.TWO": ["\u78d0\u4e9e", 12.350000381469727, "2008-01-02", "2023-02-24"], "4711.TWO": ["\u6c38\u7d14", 15.0, "2008-01-02", "2023-02-24"], "4712.TWO": ["\u5357\u748b", 4.78000020980835, "2008-01-02", "2023-02-24"], "4714.TWO": ["\u6c38\u6377", 11.25, "2008-01-02", "2023-02-24"], "4716.TWO": ["\u5927\u7acb", 12.5, "2008-01-02", "2023-02-24"], "4721.TWO": ["\u7f8e\u742a\u746a", 109.5, "2008-01-02", "2023-02-24"], "4726.TWO": ["\u6c38\u6615", 39.349998474121094, "2012-06-21", "2023-02-24"], "4728.TWO": ["\u96d9\u7f8e", 125.5, "2012-01-11", "2023-02-24"], "4729.TWO": ["\u7192\u8302", 15.800000190734863, "2008-01-02", "2023-02-24"], "4735.TWO": ["\u8c6a\u5c55", 40.25, "2011-08-17", "2023-02-24"], "4736.TWO": ["\u6cf0\u535a", 190.0, "2010-12-02", "2023-02-24"], "4741.TWO": ["\u6cd3\u701a", 26.299999237060547, "2012-06-28", "2023-02-24"], "4743.TWO": ["\u5408\u4e00", 262.0, "2011-09-26", "2023-02-24"], "4744.TWO": ["\u7687\u5c07", 31.049999237060547, "2012-06-22", "2023-02-24"], "4745.TWO": ["\u5408\u5bcc-KY", 25.350000381469727, "2012-06-21", "2023-02-24"], "4747.TWO": ["\u5f37\u751f", 55.400001525878906, "2012-06-29", "2023-02-24"], "4754.TWO": ["\u570b\u78b3\u79d1", 35.79999923706055, "2012-11-28", "2023-02-24"], "4760.TWO": ["\u52e4\u51f1", 52.70000076293945, "2015-10-12", "2023-02-24"], "4767.TWO": ["\u8aa0\u6cf0\u79d1\u6280", 27.049999237060547, "2017-10-03", "2023-02-24"], "4803.TWO": ["VHQ-KY", 3.5999999046325684, "2015-12-17", "2021-12-24"], "4804.TWO": ["\u5927\u7565-KY", 11.399999618530273, "2014-12-30", "2023-02-24"], "4806.TWO": ["\u6607\u83ef", 7.0, "2014-12-09", "2023-02-24"], "4903.TWO": ["\u806f\u5149\u901a", 15.0, "2008-01-02", "2023-02-24"], "4905.TWO": ["\u53f0\u806f\u96fb", 51.0, "2008-01-02", "2023-02-24"], "4907.TWO": ["\u5bcc\u5b87", 30.700000762939453, "2008-01-02", "2023-02-24"], "4908.TWO": ["\u524d\u9f0e", 31.950000762939453, "2008-01-02", "2023-02-24"], "4909.TWO": ["\u65b0\u5fa9\u8208", 17.700000762939453, "2008-01-02", "2023-02-24"], "4911.TWO": ["\u5fb7\u82f1", 64.80000305175781, "2011-03-22", "2023-02-24"], "4924.TWO": ["\u6b23\u539a-KY", 13.850000381469727, "2011-10-19", "2023-02-24"], "4931.TWO": ["\u65b0\u76db\u529b", 47.75, "2012-10-08", "2023-02-24"], "4933.TWO": ["\u53cb\u8f1d", 34.04999923706055, "2011-08-01", "2023-02-24"], "4939.TWO": ["\u4e9e\u96fb", 16.5, "2011-09-20", "2023-02-24"], "4944.TWO": ["\u5146\u9060", 13.0, "2011-06-01", "2023-02-24"], "4945.TWO": ["\u965e\u9054\u79d1\u6280", 50.900001525878906, "2019-07-01", "2023-02-24"], "4946.TWO": ["\u8fa3\u6912", 47.29999923706055, "2011-06-13", "2023-02-24"], "4950.TWO": ["\u7267\u6771", 21.299999237060547, "2012-04-30", "2023-02-24"], "4953.TWO": ["\u7def\u8edf", 106.0, "2012-06-25", "2023-02-24"], "4966.TWO": ["\u8b5c\u745e-KY", 962.0, "2011-09-14", "2023-02-24"], "4971.TWO": ["IET-KY", 56.400001525878906, "2013-07-25", "2023-02-24"], "4972.TWO": ["\u6e6f\u77f3\u7167\u660e", 30.299999237060547, "2012-06-21", "2023-02-24"], "4973.TWO": ["\u5ee3\u7a4e", 23.549999237060547, "2012-06-20", "2023-02-24"], "4974.TWO": ["\u4e9e\u6cf0", 66.5, "2011-11-30", "2023-02-24"], "4979.TWO": ["\u83ef\u661f\u5149", 47.599998474121094, "2011-12-13", "2023-02-24"], "4987.TWO": ["\u79d1\u8aa0", 59.20000076293945, "2012-03-22", "2023-02-24"], "4991.TWO": ["\u74b0\u5b87-KY", 37.599998474121094, "2012-06-27", "2023-02-24"], "4995.TWO": ["\u6676\u9054", 47.29999923706055, "2012-05-10", "2023-02-24"], "5009.TWO": ["\u69ae\u525b", 45.04999923706055, "2008-01-02", "2023-02-24"], "5011.TWO": ["\u4e45\u967d", 25.450000762939453, "2007-12-24", "2023-02-24"], "5013.TWO": ["\u5f37\u65b0", 35.29999923706055, "2008-01-02", "2023-02-24"], "5014.TWO": ["\u5efa\u9329", 17.649999618530273, "2008-01-02", "2023-02-24"], "5015.TWO": ["\u83ef\u797a", 58.099998474121094, "2008-01-02", "2023-02-24"], "5016.TWO": ["\u677e\u548c", 30.299999237060547, "2008-01-02", "2023-02-24"], "5201.TWO": ["\u51f1\u885b", 26.950000762939453, "2008-01-02", "2023-02-24"], "5202.TWO": ["\u529b\u65b0", 14.600000381469727, "2008-01-02", "2023-02-24"], "5205.TWO": ["\u4e2d\u8302", 38.29999923706055, "2008-01-02", "2023-02-24"], "5206.TWO": ["\u5764\u6085", 18.049999237060547, "2008-01-02", "2023-02-24"], "5209.TWO": ["\u65b0\u9f0e", 87.9000015258789, "2008-01-02", "2023-02-24"], "5210.TWO": ["\u5bf6\u78a9", 19.850000381469727, "2008-01-02", "2023-02-24"], "5211.TWO": ["\u8499\u606c", 20.0, "2007-12-19", "2023-02-24"], "5212.TWO": ["\u51cc\u7db2", 50.79999923706055, "2008-01-02", "2023-02-24"], "5213.TWO": ["\u4e9e\u6615", 23.649999618530273, "2008-01-02", "2023-02-24"], "5220.TWO": ["\u842c\u9054\u5149\u96fb", 31.350000381469727, "2014-10-08", "2023-02-24"], "5223.TWO": ["\u5b89\u529b-KY", 41.95000076293945, "2018-07-03", "2023-02-24"], "5227.TWO": ["\u7acb\u51f1-KY", 72.5, "2013-12-10", "2023-02-24"], "5230.TWO": ["\u96f7\u7b1b\u514b\u5149\u5b78", 23.700000762939453, "2012-06-06", "2023-02-24"], "5245.TWO": ["\u667a\u6676", 52.400001525878906, "2012-07-10", "2023-02-24"], "5251.TWO": ["\u5929\u925e\u96fb", 26.5, "2012-06-21", "2023-02-24"], "5263.TWO": ["\u667a\u5d34", 130.5, "2012-06-22", "2023-02-24"], "5272.TWO": ["\u7b19\u79d1", 27.799999237060547, "2012-06-28", "2023-02-24"], "5274.TWO": ["\u4fe1\u9a4a", 2795.0, "2012-06-21", "2023-02-24"], "5276.TWO": ["\u9054\u8f1d-KY", 15.0, "2014-06-13", "2023-02-24"], "5278.TWO": ["\u5c1a\u51e1", 187.0, "2012-06-21", "2023-02-24"], "5281.TWO": ["\u5927\u5cfd\u8c37-KY", 16.25, "2016-03-31", "2023-02-24"], "5287.TWO": ["\u6578\u5b57", 194.0, "2012-09-04", "2023-02-24"], "5289.TWO": ["\u5b9c\u9f0e", 224.5, "2012-10-08", "2023-02-24"], "5291.TWO": ["\u9091\u6607", 33.150001525878906, "2013-09-02", "2023-02-24"], "5299.TWO": ["\u6770\u529b", 131.0, "2012-12-10", "2023-02-24"], "5301.TWO": ["\u5bf6\u5f97\u5229", 10.800000190734863, "2008-01-02", "2023-02-24"], "5302.TWO": ["\u592a\u6b23", 8.670000076293945, "2008-01-02", "2023-02-24"], "5309.TWO": ["\u7cfb\u7d71\u96fb", 41.849998474121094, "2008-01-02", "2023-02-24"], "5310.TWO": ["\u5929\u525b", 24.149999618530273, "2008-01-02", "2023-02-24"], "5312.TWO": ["\u5bf6\u5cf6\u79d1", 61.79999923706055, "2008-01-02", "2023-02-24"], "5314.TWO": ["\u4e16\u7d00", 17.799999237060547, "2008-01-02", "2023-02-24"], "5315.TWO": ["\u5149\u806f", 21.350000381469727, "2008-01-02", "2023-02-24"], "5321.TWO": ["\u53cb\u9293", 86.4000015258789, "2008-01-02", "2023-02-24"], "5324.TWO": ["\u58eb\u958b", 9.420000076293945, "2008-01-02", "2023-02-24"], "5328.TWO": ["\u83ef\u5bb9", 11.25, "2008-01-02", "2023-02-24"], "5340.TWO": ["\u5efa\u69ae", 48.400001525878906, "2008-01-02", "2023-02-24"], "5344.TWO": ["\u7acb\u885b", 18.649999618530273, "2008-01-02", "2023-02-24"], "5345.TWO": ["\u5929\u63da", 6.199999809265137, "2008-01-02", "2023-02-24"], "5347.TWO": ["\u4e16\u754c", 92.5, "2008-01-02", "2023-02-24"], "5348.TWO": ["\u7cfb\u901a", 9.989999771118164, "2008-01-02", "2023-02-24"], "5351.TWO": ["\u923a\u5275", 47.20000076293945, "2008-01-02", "2023-02-24"], "5353.TWO": ["\u53f0\u6797", 33.70000076293945, "2008-01-02", "2023-02-24"], "5355.TWO": ["\u4f73\u7e3d", 6.800000190734863, "2008-01-02", "2023-02-24"], "5356.TWO": ["\u5354\u76ca", 21.5, "2008-01-02", "2023-02-24"], "5364.TWO": ["\u529b\u9e97\u5e97", 30.850000381469727, "2008-01-02", "2023-02-24"], "5371.TWO": ["\u4e2d\u5149\u96fb", 64.5999984741211, "2008-01-02", "2023-02-24"], "5381.TWO": ["\u5408\u6b63", 7.400000095367432, "2008-01-02", "2023-02-24"], "5383.TWO": ["\u91d1\u5229", 25.100000381469727, "2008-01-02", "2023-02-24"], "5386.TWO": ["\u9752\u96f2", 37.0, "2008-01-02", "2023-02-24"], "5392.TWO": ["\u61c9\u83ef", 22.149999618530273, "2008-01-02", "2023-02-24"], "5398.TWO": ["\u6155\u5eb7\u751f\u91ab", 16.700000762939453, "2008-01-02", "2023-02-24"], "5403.TWO": ["\u4e2d\u83f2", 76.4000015258789, "2008-01-02", "2023-02-24"], "5410.TWO": ["\u570b\u773e", 34.79999923706055, "2008-01-02", "2023-02-24"], "5425.TWO": ["\u53f0\u534a", 93.5999984741211, "2008-01-02", "2023-02-24"], "5426.TWO": ["\u632f\u767c", 13.600000381469727, "2008-01-02", "2023-02-24"], "5432.TWO": ["\u9054\u5a01", 27.100000381469727, "2008-01-02", "2023-02-24"], "5438.TWO": ["\u6771\u53cb", 17.75, "2008-01-02", "2023-02-24"], "5439.TWO": ["\u9ad8\u6280", 62.400001525878906, "2008-01-02", "2023-02-24"], "5443.TWO": ["\u5747\u8c6a", 29.450000762939453, "2008-01-02", "2023-02-24"], "5450.TWO": ["\u5357\u826f", 19.299999237060547, "2008-01-02", "2023-02-24"], "5452.TWO": ["\u4f76\u512a", 17.600000381469727, "2008-01-02", "2023-02-24"], "5455.TWO": ["\u6607\u76ca", 28.850000381469727, "2008-01-02", "2023-02-24"], "5457.TWO": ["\u5ba3\u5fb7", 55.20000076293945, "2008-01-02", "2023-02-24"], "5460.TWO": ["\u540c\u5354", 11.350000381469727, "2008-01-02", "2023-02-24"], "5464.TWO": ["\u9716\u5b8f", 33.900001525878906, "2008-01-02", "2023-02-24"], "5465.TWO": ["\u5bcc\u9a4a", 21.950000762939453, "2008-01-02", "2023-02-24"], "5468.TWO": ["\u51f1\u923a", 17.600000381469727, "2008-01-02", "2023-02-24"], "5474.TWO": ["\u8070\u6cf0", 76.5999984741211, "2008-01-02", "2023-02-24"], "5475.TWO": ["\u5fb7\u5b8f", 12.899999618530273, "2008-01-02", "2023-02-24"], "5478.TWO": ["\u667a\u51a0", 80.5, "2008-01-02", "2023-02-24"], "5481.TWO": ["\u65b0\u83ef", 12.449999809265137, "2008-01-02", "2023-02-24"], "5483.TWO": ["\u4e2d\u7f8e\u6676", 159.0, "2008-01-02", "2023-02-24"], "5487.TWO": ["\u901a\u6cf0", 25.75, "2008-01-02", "2023-02-24"], "5488.TWO": ["\u677e\u666e", 9.979999542236328, "2008-01-02", "2023-02-24"], "5489.TWO": ["\u5f69\u5bcc", 35.95000076293945, "2008-01-02", "2023-02-24"], "5490.TWO": ["\u540c\u4ea8", 24.299999237060547, "2008-01-02", "2023-02-24"], "5493.TWO": ["\u4e09\u806f", 50.0, "2008-01-02", "2023-02-24"], "5498.TWO": ["\u51f1\u5d34", 10.600000381469727, "2008-01-02", "2023-02-24"], "5508.TWO": ["\u6c38\u4fe1\u5efa", 59.20000076293945, "2008-01-02", "2023-02-24"], "5511.TWO": ["\u5fb7\u660c", 31.100000381469727, "2008-01-02", "2023-02-24"], "5512.TWO": ["\u529b\u9e92", 11.149999618530273, "2008-01-02", "2023-02-24"], "5514.TWO": ["\u4e09\u8c50", 18.25, "2008-01-02", "2023-02-24"], "5516.TWO": ["\u96d9\u559c", 25.149999618530273, "2008-01-02", "2023-02-24"], "5520.TWO": ["\u529b\u6cf0", 57.099998474121094, "2008-01-02", "2023-02-24"], "5523.TWO": ["\u8c50\u8b19", 24.950000762939453, "2008-01-02", "2023-02-24"], "5529.TWO": ["\u5fd7\u5609", 12.600000381469727, "2008-01-02", "2023-02-24"], "5530.TWO": ["\u9f8d\u5dd6", 38.400001525878906, "2008-01-02", "2023-02-24"], "5536.TWO": ["\u8056\u6689", 120.0, "2010-11-11", "2023-02-24"], "5543.TWO": ["\u6853\u9f0e-KY", 53.599998474121094, "2016-05-13", "2023-02-24"], "5601.TWO": ["\u53f0\u806f\u6ac3", 42.79999923706055, "2008-01-02", "2023-02-24"], "5603.TWO": ["\u9678\u6d77", 23.450000762939453, "2008-01-02", "2023-02-24"], "5604.TWO": ["\u4e2d\u9023\u8ca8", 53.599998474121094, "2008-01-02", "2023-02-24"], "5609.TWO": ["\u4e2d\u83f2\u884c", 78.30000305175781, "2008-01-02", "2023-02-24"], "5701.TWO": ["\u528d\u6e56\u5c71", 4.320000171661377, "2008-01-02", "2023-02-24"], "5703.TWO": ["\u4e9e\u90fd", 24.299999237060547, "2008-01-02", "2023-02-24"], "5704.TWO": ["\u8001\u723a\u77e5", 73.0, "2008-01-02", "2023-02-24"], "5864.TWO": ["\u81f4\u548c\u8b49", 12.25, "2012-06-21", "2023-02-24"], "5878.TWO": ["\u53f0\u540d", 48.5, "2013-11-22", "2023-02-24"], "5902.TWO": ["\u5fb7\u8a18", 36.75, "2008-01-02", "2023-02-24"], "5903.TWO": ["\u5168\u5bb6", 203.0, "2008-01-02", "2023-02-24"], "5904.TWO": ["\u5bf6\u96c5", 593.0, "2008-01-02", "2023-02-24"], "5905.TWO": ["\u5357\u4ec1\u6e56", 13.300000190734863, "2008-01-02", "2023-02-24"], "6015.TWO": ["\u5b8f\u9060\u8b49", 10.0, "2008-01-02", "2023-02-24"], "6016.TWO": ["\u5eb7\u548c\u8b49", 10.800000190734863, "2008-01-02", "2023-02-24"], "6020.TWO": ["\u5927\u5c55\u8b49", 18.799999237060547, "2008-01-02", "2023-02-24"], "6021.TWO": ["\u5927\u6176\u8b49", 17.549999237060547, "2008-01-02", "2023-02-24"], "6023.TWO": ["\u5143\u5927\u671f", 50.29999923706055, "2008-01-02", "2023-02-24"], "6026.TWO": ["\u798f\u90a6\u8b49", 10.75, "2014-10-01", "2023-02-24"], "6101.TWO": ["\u5bec\u9b5a\u570b\u969b", 36.900001525878906, "2008-01-02", "2023-02-24"], "6103.TWO": ["\u5408\u90a6", 37.27188491821289, "2008-01-02", "2023-02-24"], "6104.TWO": ["\u5275\u60df", 124.0, "2008-01-02", "2023-02-24"], "6109.TWO": ["\u4e9e\u5143", 17.549999237060547, "2008-01-02", "2023-02-24"], "6111.TWO": ["\u5927\u5b87\u8cc7", 57.099998474121094, "2007-12-13", "2023-02-24"], "6113.TWO": ["\u4e9e\u77fd", 17.850000381469727, "2008-01-02", "2023-02-24"], "6114.TWO": ["\u4e45\u5a01", 25.149999618530273, "2007-12-24", "2023-02-24"], "6118.TWO": ["\u5efa\u9054", 39.599998474121094, "2008-01-02", "2023-02-24"], "6121.TWO": ["\u65b0\u666e", 296.0, "2008-01-02", "2023-02-24"], "6122.TWO": ["\u64ce\u90a6", 19.149999618530273, "2008-01-02", "2023-02-24"], "6123.TWO": ["\u4e0a\u5947", 67.80000305175781, "2008-01-02", "2023-02-24"], "6124.TWO": ["\u696d\u5f37", 25.5, "2008-01-02", "2023-02-24"], "6125.TWO": ["\u5ee3\u904b", 27.799999237060547, "2008-01-02", "2023-02-24"], "6126.TWO": ["\u4fe1\u97f3", 21.5, "2008-01-02", "2023-02-24"], "6127.TWO": ["\u4e5d\u8c6a", 17.600000381469727, "2008-01-02", "2023-02-24"], "6129.TWO": ["\u666e\u8aa0", 34.79999923706055, "2008-01-02", "2023-02-24"], "6130.TWO": ["\u661f\u5bf6\u570b\u969b", 35.849998474121094, "2008-01-02", "2023-02-24"], "6134.TWO": ["\u842c\u65ed", 21.200000762939453, "2008-01-02", "2023-02-24"], "6138.TWO": ["\u8302\u9054", 145.0, "2008-01-02", "2023-02-24"], "6140.TWO": ["\u8a0a\u9054", 18.049999237060547, "2008-01-02", "2023-02-24"], "6143.TWO": ["\u632f\u66dc", 87.69999694824219, "2008-01-02", "2023-02-24"], "6144.TWO": ["\u5f97\u5229\u5f71", 14.050000190734863, "2007-12-28", "2023-02-24"], "6146.TWO": ["\u8015\u8208", 266.0, "2008-01-02", "2023-02-24"], "6147.TWO": ["\u980e\u90a6", 67.30000305175781, "2008-01-02", "2023-02-24"], "6148.TWO": ["\u9a4a\u5b8f\u8cc7", 15.949999809265137, "2008-01-02", "2023-02-24"], "6150.TWO": ["\u64bc\u8a0a", 80.4000015258789, "2008-01-02", "2023-02-24"], "6151.TWO": ["\u6649\u502b", 27.350000381469727, "2008-01-02", "2023-02-24"], "6154.TWO": ["\u9806\u767c", 16.149999618530273, "2008-01-02", "2023-02-24"], "6156.TWO": ["\u677e\u4e0a", 19.549999237060547, "2008-01-02", "2023-02-24"], "6158.TWO": ["\u79be\u660c", 26.25, "2008-01-02", "2023-02-24"], "6160.TWO": ["\u6b23\u6280", 20.0, "2008-01-02", "2023-02-24"], "6161.TWO": ["\u6377\u6ce2", 27.399999618530273, "2008-01-02", "2023-02-24"], "6163.TWO": ["\u83ef\u96fb\u7db2", 15.699999809265137, "2008-01-02", "2023-02-24"], "6167.TWO": ["\u4e45\u6b63", 12.949999809265137, "2008-01-02", "2023-02-24"], "6169.TWO": ["\u6631\u6cc9", 19.100000381469727, "2008-01-02", "2023-02-24"], "6170.TWO": ["\u7d71\u632f", 37.20000076293945, "2008-01-02", "2023-02-24"], "6171.TWO": ["\u4e9e\u92b3\u58eb", 24.700000762939453, "2008-01-02", "2023-02-24"], "6173.TWO": ["\u4fe1\u660c\u96fb", 42.849998474121094, "2008-01-02", "2023-02-24"], "6174.TWO": ["\u5b89\u7881", 29.299999237060547, "2008-01-02", "2023-02-24"], "6175.TWO": ["\u7acb\u6566", 36.20000076293945, "2008-01-02", "2023-02-24"], "6179.TWO": ["\u4e9e\u901a", 30.100000381469727, "2008-01-02", "2023-02-24"], "6180.TWO": ["\u6a58\u5b50", 80.80000305175781, "2008-01-02", "2023-02-24"], "6182.TWO": ["\u5408\u6676", 44.900001525878906, "2008-01-02", "2023-02-24"], "6185.TWO": ["\u5e43\u7fd4", 13.649999618530273, "2008-01-02", "2023-02-24"], "6186.TWO": ["\u65b0\u6f64", 37.79999923706055, "2008-01-02", "2023-02-24"], "6187.TWO": ["\u842c\u6f64", 72.0, "2008-01-02", "2023-02-24"], "6188.TWO": ["\u5ee3\u660e", 48.849998474121094, "2008-01-02", "2023-02-24"], "6190.TWO": ["\u842c\u6cf0\u79d1", 30.899999618530273, "2008-01-02", "2023-02-24"], "6194.TWO": ["\u80b2\u5bcc", 23.649999618530273, "2008-01-02", "2023-02-24"], "6195.TWO": ["\u8a69\u80af", 44.5, "2008-01-02", "2023-02-24"], "6198.TWO": ["\u51cc\u6cf0", 19.5, "2008-01-02", "2023-02-24"], "6199.TWO": ["\u5929\u54c1", 18.299999237060547, "2008-01-02", "2023-02-24"], "6203.TWO": ["\u6d77\u97fb\u96fb", 56.79999923706055, "2008-01-02", "2023-02-24"], "6204.TWO": ["\u827e\u83ef", 55.599998474121094, "2008-01-02", "2023-02-24"], "6207.TWO": ["\u96f7\u79d1", 26.799999237060547, "2008-01-02", "2023-02-24"], "6208.TWO": ["\u65e5\u63da", 53.79999923706055, "2008-01-02", "2023-02-24"], "6210.TWO": ["\u6176\u751f", 35.25, "2008-01-02", "2023-02-24"], "6212.TWO": ["\u7406\u9298", 49.0, "2007-12-31", "2023-02-24"], "6217.TWO": ["\u4e2d\u63a2\u91dd", 46.75, "2008-01-02", "2023-02-24"], "6218.TWO": ["\u8c6a\u52c9", 18.850000381469727, "2008-01-02", "2023-02-24"], "6219.TWO": ["\u5bcc\u65fa", 10.949999809265137, "2008-01-02", "2023-02-24"], "6220.TWO": ["\u5cb3\u8c50", 27.600000381469727, "2008-01-02", "2023-02-24"], "6221.TWO": ["\u6649\u6cf0", 58.599998474121094, "2008-01-02", "2023-02-24"], "6222.TWO": ["\u4e0a\u63da", 14.300000190734863, "2008-01-02", "2023-02-24"], "6223.TWO": ["\u65fa\u77fd", 123.5, "2008-01-02", "2023-02-24"], "6227.TWO": ["\u8302\u7db8", 46.150001525878906, "2008-01-02", "2023-02-24"], "6228.TWO": ["\u5168\u8b5c", 14.0, "2008-01-02", "2023-02-24"], "6229.TWO": ["\u7814\u901a", 25.850000381469727, "2008-01-02", "2023-02-24"], "6231.TWO": ["\u7cfb\u5fae", 104.0, "2008-01-02", "2023-02-24"], "6233.TWO": ["\u65fa\u7396", 22.450000762939453, "2008-01-02", "2023-02-24"], "6234.TWO": ["\u9ad8\u50d1", 23.450000762939453, "2008-01-02", "2023-02-24"], "6236.TWO": ["\u5eb7\u5448", 24.899999618530273, "2008-01-02", "2023-02-24"], "6237.TWO": ["\u9a4a\u8a0a", 49.20000076293945, "2008-01-02", "2023-02-24"], "6240.TWO": ["\u677e\u5d17", 18.549999237060547, "2008-01-02", "2023-02-24"], "6241.TWO": ["\u6613\u901a\u5c55", 15.5, "2008-01-02", "2023-02-24"], "6242.TWO": ["\u7acb\u5eb7", 57.20000076293945, "2008-01-02", "2023-02-24"], "6244.TWO": ["\u8302\u8fea", 28.350000381469727, "2008-01-02", "2023-02-24"], "6245.TWO": ["\u7acb\u7aef", 109.5, "2008-01-02", "2023-02-24"], "6246.TWO": ["\u81fa\u9f8d", 14.25, "2008-01-02", "2023-02-24"], "6247.TWO": ["\u6dc7\u8b7d\u96fb", 15.449999809265137, "2008-01-02", "2023-02-09"], "6248.TWO": ["\u6c9b\u6ce2", 23.600000381469727, "2008-01-02", "2023-02-24"], "6259.TWO": ["\u767e\u5fbd", 24.049999237060547, "2008-01-02", "2023-02-24"], "6261.TWO": ["\u4e45\u5143", 63.29999923706055, "2008-01-02", "2023-02-24"], "6263.TWO": ["\u666e\u840a\u5fb7", 90.5999984741211, "2008-01-02", "2023-02-24"], "6264.TWO": ["\u5bcc\u88d4", 8.180000305175781, "2008-01-02", "2023-02-24"], "6265.TWO": ["\u65b9\u571f\u6636", 10.199999809265137, "2008-01-02", "2023-02-24"], "6266.TWO": ["\u6cf0\u8a60", 33.5, "2008-01-02", "2023-02-24"], "6270.TWO": ["\u500d\u5fae", 23.549999237060547, "2008-01-02", "2023-02-24"], "6274.TWO": ["\u53f0\u71ff", 59.099998474121094, "2008-01-02", "2023-02-24"], "6275.TWO": ["\u5143\u5c71", 28.649999618530273, "2008-01-02", "2023-02-24"], "6276.TWO": ["\u5b89\u9226\u514b", 17.0, "2008-01-02", "2023-02-24"], "6279.TWO": ["\u80e1\u9023", 153.5, "2008-01-02", "2023-02-24"], "6284.TWO": ["\u4f73\u90a6", 57.099998474121094, "2008-01-02", "2023-02-24"], "6287.TWO": ["\u5143\u9686", 23.5, "2008-01-02", "2023-02-24"], "6290.TWO": ["\u826f\u7dad", 74.0999984741211, "2008-01-02", "2023-02-24"], "6291.TWO": ["\u6c9b\u4ea8", 99.5, "2008-01-02", "2023-02-24"], "6292.TWO": ["\u8fc5\u5fb7", 41.650001525878906, "2008-01-02", "2023-02-24"], "6294.TWO": ["\u667a\u57fa", 109.0, "2007-12-25", "2023-02-24"], "6404.TWO": ["\u901a\u8a0a-KY", 21.700000762939453, "2013-09-18", "2023-02-24"], "6411.TWO": ["\u6676\u7131", 129.0, "2012-12-26", "2023-02-24"], "6417.TWO": ["\u97cb\u50d1", 115.0, "2013-03-14", "2023-02-24"], "6418.TWO": ["\u8a60\u6607", 16.649999618530273, "2013-01-02", "2023-02-24"], "6419.TWO": ["\u4eac\u6668\u79d1", 37.29999923706055, "2013-05-02", "2023-02-24"], "6425.TWO": ["\u6613\u767c", 20.0, "2013-08-08", "2023-02-24"], "6432.TWO": ["\u4eca\u5c55\u79d1", 35.400001525878906, "2014-06-27", "2023-02-24"], "6435.TWO": ["\u5927\u4e2d", 103.0, "2013-12-13", "2023-02-24"], "6441.TWO": ["\u5ee3\u9320", 60.79999923706055, "2013-12-03", "2023-02-24"], "6446.TWO": ["\u85e5\u83ef\u85e5", 504.0, "2014-03-12", "2023-02-24"], "6457.TWO": ["\u7d18\u5eb7", 61.900001525878906, "2014-06-19", "2023-02-24"], "6461.TWO": ["\u76ca\u5f97", 30.950000762939453, "2014-07-16", "2023-02-24"], "6462.TWO": ["\u795e\u76fe", 79.19999694824219, "2014-06-27", "2023-02-24"], "6465.TWO": ["\u5a01\u6f64", 18.0, "2014-07-10", "2023-02-24"], "6469.TWO": ["\u5927\u6a39", 335.0, "2014-12-30", "2023-02-24"], "6470.TWO": ["\u5b87\u667a", 63.29999923706055, "2014-09-25", "2023-02-24"], "6472.TWO": ["\u4fdd\u745e", 503.0, "2014-10-06", "2023-02-24"], "6482.TWO": ["\u5f18\u715c\u79d1", 46.0, "2014-11-14", "2023-02-24"], "6485.TWO": ["\u9ede\u5e8f", 75.30000305175781, "2014-10-17", "2023-02-24"], "6486.TWO": ["\u4e92\u52d5", 69.0, "2014-11-26", "2023-02-24"], "6488.TWO": ["\u74b0\u7403\u6676", 512.0, "2014-10-31", "2023-02-24"], "6492.TWO": ["\u751f\u83ef\u79d1", 57.79999923706055, "2014-12-19", "2023-02-24"], "6494.TWO": ["\u4e5d\u9f4a", 77.30000305175781, "2014-12-25", "2023-02-24"], "6496.TWO": ["\u79d1\u61cb", 33.900001525878906, "2014-12-22", "2023-02-24"], "6499.TWO": ["\u76ca\u5b89", 59.400001525878906, "2014-12-12", "2023-02-24"], "6506.TWO": ["\u96d9\u90a6", 20.649999618530273, "2007-12-21", "2023-02-24"], "6508.TWO": ["\u60e0\u5149", 39.29999923706055, "2008-01-02", "2023-02-24"], "6509.TWO": ["\u805a\u548c", 46.45000076293945, "2008-01-02", "2023-02-24"], "6510.TWO": ["\u7cbe\u6e2c", 589.0, "2015-01-21", "2023-02-24"], "6512.TWO": ["\u555f\u767c\u96fb", 21.549999237060547, "2015-02-06", "2023-02-24"], "6514.TWO": ["\u82ae\u7279-KY", 55.599998474121094, "2015-12-03", "2023-02-24"], "6516.TWO": ["\u52e4\u5d34\u570b\u969b", 82.0999984741211, "2015-01-27", "2023-02-24"], "6523.TWO": ["\u9054\u723e\u819a", 112.0, "2015-05-04", "2023-02-24"], "6527.TWO": ["\u660e\u9054\u91ab", 66.80000305175781, "2015-04-30", "2023-02-24"], "6530.TWO": ["\u5275\u5a01", 24.600000381469727, "2015-06-11", "2023-02-24"], "6532.TWO": ["\u745e\u8018", 54.599998474121094, "2015-05-26", "2023-02-24"], "6535.TWO": ["\u9806\u85e5", 42.900001525878906, "2015-07-17", "2023-02-24"], "6538.TWO": ["\u5009\u548c", 82.0, "2015-08-13", "2023-02-24"], "6542.TWO": ["\u9686\u4e2d", 43.70000076293945, "2015-06-26", "2023-02-24"], "6547.TWO": ["\u9ad8\u7aef\u75ab\u82d7", 61.70000076293945, "2015-09-17", "2023-02-24"], "6548.TWO": ["\u9577\u79d1*", 34.45000076293945, "2015-08-03", "2023-02-24"], "6556.TWO": ["\u52dd\u54c1", 166.0, "2016-01-07", "2023-02-24"], "6560.TWO": ["\u6b23\u666e\u7f85", 35.25, "2016-01-18", "2023-02-24"], "6561.TWO": ["\u662f\u65b9", 356.0, "2017-06-30", "2023-02-24"], "6568.TWO": ["\u5b8f\u89c0", 172.5, "2016-01-27", "2023-02-24"], "6569.TWO": ["\u91ab\u63da", 112.0, "2016-01-18", "2023-02-24"], "6570.TWO": ["\u7dad\u7530", 60.79999923706055, "2016-02-22", "2023-02-24"], "6574.TWO": ["\u9708\u65b9", 50.29999923706055, "2016-07-15", "2023-02-24"], "6576.TWO": ["\u9038\u9054", 104.5, "2016-04-13", "2023-02-24"], "6577.TWO": ["\u52c1\u8c50", 62.79999923706055, "2016-03-09", "2023-02-24"], "6578.TWO": ["\u9054\u90a6\u86cb\u767d", 16.149999618530273, "2016-07-21", "2023-02-24"], "6588.TWO": ["\u6771\u5178\u5149\u96fb", 33.0, "2016-08-31", "2023-02-24"], "6589.TWO": ["\u53f0\u5eb7\u751f\u6280", 119.0, "2016-11-24", "2023-02-24"], "6590.TWO": ["\u666e\u9d3b", 68.80000305175781, "2016-09-19", "2023-02-24"], "6593.TWO": ["\u53f0\u7063\u9298\u677f", 51.79999923706055, "2016-09-30", "2023-02-24"], "6594.TWO": ["\u5c55\u532f\u79d1", 29.5, "2017-05-02", "2023-02-24"], "6596.TWO": ["\u5bec\u5b8f\u85dd\u8853", 45.849998474121094, "2016-10-11", "2023-02-24"], "6603.TWO": ["\u5bcc\u5f37\u946b", 18.350000381469727, "2008-01-02", "2023-02-24"], "6609.TWO": ["\u7027\u6fa4\u79d1", 42.650001525878906, "2008-01-02", "2023-02-24"], "6612.TWO": ["\u5948\u7c73\u91ab\u6750", 142.5, "2016-12-28", "2023-02-24"], "6613.TWO": ["\u670b\u5104", 98.9000015258789, "2016-12-23", "2023-02-24"], "6615.TWO": ["\u6167\u667a", 38.349998474121094, "2017-01-09", "2023-02-24"], "6616.TWO": ["\u7279\u6607-KY", 14.199999809265137, "2018-01-11", "2023-02-24"], "6624.TWO": ["\u842c\u5e74\u6e05", 41.900001525878906, "2017-03-17", "2023-02-24"], "6629.TWO": ["\u6cf0\u91d1-KY", 46.5, "2019-06-10", "2023-02-24"], "6640.TWO": ["\u5747\u83ef", 94.0, "2017-08-15", "2023-02-24"], "6642.TWO": ["\u5bcc\u81f4", 52.599998474121094, "2017-10-23", "2023-02-24"], "6643.TWO": ["M31", 600.0, "2017-09-21", "2023-02-24"], "6649.TWO": ["\u53f0\u751f\u6750", 42.25, "2017-08-30", "2023-02-24"], "6654.TWO": ["\u5929\u6b63\u570b\u969b", 55.900001525878906, "2017-11-01", "2023-02-24"], "6662.TWO": ["\u6a02\u65af\u79d1", 30.100000381469727, "2018-01-05", "2023-02-24"], "6664.TWO": ["\u7fa4\u7fca", 109.0, "2017-10-27", "2023-02-24"], "6667.TWO": ["\u4fe1\u7d18\u79d1", 66.5, "2017-11-24", "2023-02-24"], "6679.TWO": ["\u923a\u592a", 280.0, "2018-05-10", "2023-02-24"], "6680.TWO": ["\u946b\u5275\u96fb\u5b50", 63.20000076293945, "2018-05-10", "2023-02-24"], "6683.TWO": ["\u96cd\u667a\u79d1\u6280", 209.5, "2018-05-29", "2023-02-24"], "6690.TWO": ["\u5b89\u7881\u8cc7\u8a0a", 166.0, "2018-07-30", "2023-02-24"], "6697.TWO": ["\u6771\u6377\u8cc7\u8a0a", 43.650001525878906, "2018-09-27", "2023-02-24"], "6703.TWO": ["\u8ed2\u90c1", 120.0, "2018-10-18", "2023-02-24"], "6716.TWO": ["\u61c9\u5ee3", 92.5999984741211, "2018-12-11", "2023-02-24"], "6732.TWO": ["\u6607\u4f73\u96fb\u5b50", 360.5, "2019-06-19", "2023-02-24"], "6803.TWO": ["\u5d11\u9f0e", 268.5, "2010-05-28", "2023-02-24"], "7402.TWO": ["\u9091\u9321", 38.849998474121094, "2014-12-29", "2023-02-24"], "7556.TWO": ["\u610f\u5fb7\u58eb", 100.5, "2019-11-18", "2023-02-24"], "8024.TWO": ["\u4f51\u83ef", 20.950000762939453, "2008-01-02", "2023-02-24"], "8027.TWO": ["\u9226\u6607", 52.79999923706055, "2008-01-02", "2023-02-24"], "8032.TWO": ["\u5149\u83f1", 31.75, "2008-01-02", "2023-02-24"], "8034.TWO": ["\u69ae\u7fa4", 14.300000190734863, "2008-01-02", "2023-02-24"], "8038.TWO": ["\u9577\u5712\u79d1", 42.900001525878906, "2008-01-02", "2023-02-24"], "8040.TWO": ["\u4e5d\u6698", 51.900001525878906, "2008-01-02", "2023-02-24"], "8042.TWO": ["\u91d1\u5c71\u96fb", 36.400001525878906, "2008-01-02", "2023-02-24"], "8043.TWO": ["\u871c\u671b\u5be6", 29.75, "2008-01-02", "2023-02-24"], "8044.TWO": ["\u7db2\u5bb6", 64.19999694824219, "2008-01-02", "2023-02-24"], "8047.TWO": ["\u661f\u96f2", 11.75, "2008-01-02", "2023-02-24"], "8048.TWO": ["\u5fb7\u52dd", 36.45000076293945, "2007-12-24", "2023-02-24"], "8049.TWO": ["\u6676\u91c7", 36.599998474121094, "2008-01-02", "2023-02-24"], "8050.TWO": ["\u5ee3\u7a4d", 83.80000305175781, "2008-01-02", "2023-02-24"], "8054.TWO": ["\u5b89\u570b", 34.29999923706055, "2008-01-02", "2023-02-24"], "8059.TWO": ["\u51f1\u78a9", 10.550000190734863, "2005-04-11", "2023-02-24"], "8064.TWO": ["\u6771\u6377", 17.799999237060547, "2008-01-02", "2023-02-24"], "8066.TWO": ["\u4f86\u601d\u9054", 28.100000381469727, "2008-01-02", "2023-02-24"], "8067.TWO": ["\u5fd7\u65ed", 16.404619216918945, "2008-01-02", "2023-02-24"], "8068.TWO": ["\u5168\u9054", 24.399999618530273, "2008-01-02", "2023-02-24"], "8069.TWO": ["\u5143\u592a", 194.5, "2008-01-02", "2023-02-24"], "8071.TWO": ["\u80fd\u7387\u7db2\u901a", 15.550000190734863, "2008-01-02", "2023-02-24"], "8074.TWO": ["\u9245\u6a61", 20.25, "2008-01-02", "2023-02-24"], "8076.TWO": ["\u4f0d\u8c50", 29.799999237060547, "2008-01-02", "2023-02-24"], "8077.TWO": ["\u6d1b\u7881", 40.70000076293945, "2008-01-02", "2023-02-24"], "8080.TWO": ["\u6c38\u5229\u806f\u5408", 10.899999618530273, "2008-01-02", "2023-02-24"], "8083.TWO": ["\u745e\u7a4e", 160.5, "2008-01-02", "2023-02-24"], "8084.TWO": ["\u5de8\u8679", 101.5, "2008-01-02", "2023-02-24"], "8085.TWO": ["\u798f\u83ef", 20.75, "2008-01-02", "2023-02-24"], "8086.TWO": ["\u5b8f\u6377\u79d1", 76.69999694824219, "2008-01-02", "2023-02-24"], "8087.TWO": ["\u83ef\u9382\u946b", 28.200000762939453, "2008-01-02", "2023-02-24"], "8088.TWO": ["\u54c1\u5b89", 27.399999618530273, "2008-01-02", "2023-02-24"], "8089.TWO": ["\u5eb7\u5168\u96fb\u8a0a", 22.75, "2018-09-06", "2023-02-24"], "8091.TWO": ["\u7fd4\u540d", 91.5, "2008-01-02", "2023-02-24"], "8092.TWO": ["\u5efa\u6690", 11.899999618530273, "2008-01-02", "2023-02-24"], "8093.TWO": ["\u4fdd\u92b3", 13.100000381469727, "2008-01-02", "2023-02-24"], "8096.TWO": ["\u64ce\u4e9e", 12.0, "2008-01-02", "2023-02-24"], "8097.TWO": ["\u5e38\u73f5", 57.099998474121094, "2008-01-02", "2023-02-24"], "8099.TWO": ["\u5927\u4e16\u79d1", 38.45000076293945, "2008-01-02", "2023-02-24"], "8107.TWO": ["\u5927\u5104\u91d1\u8302", 18.299999237060547, "2008-01-02", "2023-02-24"], "8109.TWO": ["\u535a\u5927", 90.0, "2008-01-02", "2023-02-24"], "8111.TWO": ["\u7acb\u7881", 20.100000381469727, "2008-01-02", "2023-02-24"], "8121.TWO": ["\u8d8a\u5cf0", 26.149999618530273, "2008-01-02", "2023-02-24"], "8147.TWO": ["\u6b63\u6de9", 63.29999923706055, "2012-06-21", "2023-02-24"], "8155.TWO": ["\u535a\u667a", 123.5, "2012-06-28", "2023-02-24"], "8171.TWO": ["\u5929\u5b87", 62.400001525878906, "2011-12-20", "2023-02-24"], "8176.TWO": ["\u667a\u6377", 10.5, "2008-01-02", "2023-02-24"], "8182.TWO": ["\u52a0\u9ad8", 35.29999923706055, "2008-01-02", "2023-02-24"], "8183.TWO": ["\u7cbe\u661f", 55.900001525878906, "2008-01-02", "2023-02-24"], "8234.TWO": ["\u65b0\u6f22", 40.400001525878906, "2008-01-02", "2023-02-24"], "8240.TWO": ["\u83ef\u5b8f", 28.799999237060547, "2008-01-02", "2023-02-24"], "8255.TWO": ["\u670b\u7a0b", 170.5, "2008-01-02", "2023-02-24"], "8277.TWO": ["\u5546\u4e1e", 9.1899995803833, "2008-01-02", "2023-02-24"], "8279.TWO": ["\u751f\u5c55", 166.0, "2014-11-17", "2023-02-24"], "8284.TWO": ["\u4e09\u7af9", 60.0, "2012-11-06", "2023-02-24"], "8289.TWO": ["\u6cf0\u85dd", 48.04999923706055, "2008-08-21", "2023-02-24"], "8291.TWO": ["\u5c1a\u8302", 6.519999980926514, "2007-12-20", "2023-02-24"], "8299.TWO": ["\u7fa4\u806f", 351.0, "2008-01-02", "2023-02-24"], "8342.TWO": ["\u76ca\u5f35", 57.5, "2016-06-06", "2023-02-24"], "8349.TWO": ["\u6052\u8000", 66.5, "2008-01-02", "2023-02-24"], "8354.TWO": ["\u51a0\u597d", 14.649999618530273, "2008-01-02", "2023-02-24"], "8358.TWO": ["\u91d1\u5c45", 62.79999923706055, "2008-01-02", "2023-02-24"], "8383.TWO": ["\u5343\u9644", 43.45000076293945, "2008-01-02", "2023-02-24"], "8390.TWO": ["\u91d1\u76ca\u9f0e", 38.099998474121094, "2008-08-21", "2023-02-24"], "8401.TWO": ["\u767d\u7d17\u79d1", 22.649999618530273, "2010-03-30", "2023-02-24"], "8403.TWO": ["\u76db\u5f18", 35.04999923706055, "2011-03-02", "2023-02-24"], "8409.TWO": ["\u5546\u4e4b\u5668", 19.950000762939453, "2012-07-13", "2023-02-24"], "8410.TWO": ["\u68ee\u7530", 29.549999237060547, "2011-02-24", "2023-02-24"], "8415.TWO": ["\u5927\u570b\u92fc", 38.0, "2012-08-28", "2023-02-24"], "8416.TWO": ["\u5be6\u5a01", 121.0, "2012-06-22", "2023-02-24"], "8418.TWO": ["\u6377\u5fc5\u52dd-KY", 9.960000038146973, "2011-12-07", "2023-02-24"], "8420.TWO": ["\u660e\u63da", 93.5, "2012-06-28", "2023-02-24"], "8421.TWO": ["\u65ed\u6e90", 17.549999237060547, "2012-06-25", "2023-02-24"], "8423.TWO": ["\u4fdd\u7da0-KY", 18.5, "2012-03-15", "2023-02-24"], "8424.TWO": ["\u60e0\u666e", 68.5999984741211, "2012-06-22", "2023-02-24"], "8426.TWO": ["\u7d05\u6728-KY", 38.650001525878906, "2011-12-14", "2023-02-24"], "8431.TWO": ["\u532f\u947d\u79d1", 52.900001525878906, "2012-08-20", "2023-02-24"], "8432.TWO": ["\u6771\u751f\u83ef", 46.04999923706055, "2012-05-02", "2023-02-24"], "8433.TWO": ["\u5f18\u5e06", 77.0, "2012-07-03", "2023-02-24"], "8435.TWO": ["\u9245\u9081", 61.599998474121094, "2012-07-10", "2023-02-24"], "8436.TWO": ["\u5927\u6c5f", 212.5, "2012-06-21", "2023-02-24"], "8437.TWO": ["\u5927\u5730-KY", 109.5, "2015-05-07", "2023-02-24"], "8440.TWO": ["\u7da0\u96fb", 44.79999923706055, "2012-06-21", "2023-02-24"], "8444.TWO": ["\u7da0\u6cb3-KY", 49.0, "2013-07-08", "2023-02-24"], "8446.TWO": ["\u83ef\u7814", 86.9000015258789, "2012-10-29", "2023-02-24"], "8450.TWO": ["\u9739\u9742", 27.549999237060547, "2013-10-01", "2023-02-24"], "8455.TWO": ["\u5927\u62d3-KY", 22.5, "2016-01-11", "2023-02-24"], "8472.TWO": ["\u5920\u9ebb\u5409", 42.95000076293945, "2015-01-15", "2023-02-24"], "8476.TWO": ["\u53f0\u5883", 72.0, "2015-07-07", "2023-02-24"], "8477.TWO": ["\u5275\u696d\u5bb6", 17.25, "2015-10-28", "2023-02-24"], "8489.TWO": ["\u4e09\u8c9d\u5fb7", 25.149999618530273, "2016-01-13", "2023-02-24"], "8905.TWO": ["\u88d5\u570b", 23.649999618530273, "2008-01-02", "2023-02-24"], "8906.TWO": ["\u82b1\u738b", 18.75, "2008-01-02", "2023-02-24"], "8908.TWO": ["\u6b23\u96c4", 71.69999694824219, "2008-01-02", "2023-02-24"], "8916.TWO": ["\u5149\u9686", 55.0, "2008-01-02", "2023-02-24"], "8917.TWO": ["\u6b23\u6cf0", 89.5, "2007-12-18", "2023-02-24"], "8921.TWO": ["\u6c88\u6c0f", 14.75, "2007-12-21", "2023-02-24"], "8923.TWO": ["\u6642\u5831", 21.450000762939453, "2007-12-28", "2023-02-24"], "8924.TWO": ["\u5927\u7530", 130.0, "2008-01-02", "2023-02-24"], "8927.TWO": ["\u5317\u57fa", 41.849998474121094, "2008-01-02", "2023-02-24"], "8928.TWO": ["\u9245\u660e", 44.79999923706055, "2008-01-02", "2023-02-24"], "8929.TWO": ["\u5bcc\u5821", 21.149999618530273, "2007-12-28", "2023-02-24"], "8930.TWO": ["\u9752\u92fc", 17.700000762939453, "2008-01-02", "2023-02-24"], "8931.TWO": ["\u5927\u6c7d\u96fb", 54.79999923706055, "2008-01-02", "2023-02-24"], "8932.TWO": ["\u5b8f\u5927", 48.0, "2008-01-02", "2023-02-24"], "8933.TWO": ["\u611b\u5730\u96c5", 15.649999618530273, "2008-01-02", "2023-02-24"], "8935.TWO": ["\u90a6\u6cf0", 12.0, "2008-01-02", "2023-02-24"], "8936.TWO": ["\u570b\u7d71", 30.75, "2008-01-02", "2023-02-24"], "8937.TWO": ["\u5408\u9a0f", 14.899999618530273, "2008-01-02", "2023-02-24"], "8938.TWO": ["\u660e\u5b89", 111.5, "2008-01-02", "2023-02-24"], "8941.TWO": ["\u95dc\u4e2d", 61.099998474121094, "2008-01-02", "2023-02-24"], "8942.TWO": ["\u68ee\u9245", 68.0, "2008-01-02", "2023-02-24"], "9949.TWO": ["\u7409\u5712", 21.700000762939453, "2008-01-02", "2023-02-24"], "9950.TWO": ["\u842c\u570b\u901a", 12.600000381469727, "2008-01-02", "2023-02-24"], "9951.TWO": ["\u7687\u7530", 70.30000305175781, "2008-01-02", "2023-02-24"], "9960.TWO": ["\u9081\u9054\u5eb7", 27.200000762939453, "2008-01-02", "2023-02-24"], "9962.TWO": ["\u6709\u76ca", 20.75, "2008-01-02", "2023-02-24"]} \ No newline at end of file diff --git a/assets_us.json b/assets_us.json new file mode 100644 index 0000000..301a6f7 --- /dev/null +++ b/assets_us.json @@ -0,0 +1 @@ +{"A": ["Agilent Technologies, Inc.", 123.30000305175781, "2001-07-26", "2023-02-27"], "AAL": ["American Airlines Group Inc.", 1634.326416015625, "2017-11-10", "2023-02-27"], "AAP": ["Advance Auto Parts, Inc.", 5.460000038146973, "2006-09-07", "2023-02-27"], "AAPL": ["Apple Inc.", 60.650001525878906, "1973-01-03", "2023-02-27"], "ABBV": ["AbbVie Inc.", 183.1699981689453, "1980-03-18", "2023-02-27"], "ABC": ["AmerisourceBergen Corporation", 36.7599983215332, "1980-03-18", "2023-02-27"], "ABMD": ["Abiomed, Inc.", 212.1699981689453, "1980-01-03", "2023-02-27"], "ABT": ["Abbott Laboratories", 66.91999816894531, "1973-02-22", "2023-02-27"], "ACN": ["Accenture plc", 197.42999267578125, "2004-02-02", "2023-02-27"], "ADBE": ["Adobe Inc.", 225.30999755859375, "1982-06-03", "2023-02-27"], "ADI": ["Analog Devices, Inc.", 71.86000061035156, "1973-02-22", "2023-02-27"], "ADP": ["Automatic Data Processing, Inc.", 156.6300048828125, "1995-04-05", "2023-02-27"], "ADS": ["Alliance Data Systems Corporation", 141.69000244140625, "1980-03-18", "2023-02-27"], "ADSK": ["Autodesk, Inc.", 211.88999938964844, "1995-06-05", "2023-02-27"], "AEE": ["Ameren Corporation", 65.31999969482422, "1983-10-03", "2023-02-27"], "AEP": ["American Electric Power Company, Inc.", 60.900001525878906, "1980-03-18", "2023-02-27"], "AES": ["The AES Corporation", 114.9000015258789, "1983-12-29", "2023-02-27"], "AFL": ["Aflac Incorporated", 84.8499984741211, "1993-12-15", "2023-02-27"], "AGN": ["Algernon Pharmaceuticals Inc", 74.11000061035156, "1973-02-22", "2023-02-27"], "AIG": ["American International Group, Inc.", 412.6199951171875, "1993-03-15", "2023-02-27"], "AIV": ["Apartment Investment and Management Company", 155.6300048828125, "1962-01-03", "2023-02-27"], "AIZ": ["Assurant, Inc.", 76.9000015258789, "1987-06-29", "2023-02-27"], "AJG": ["Arthur J. Gallagher & Co.", 98.16999816894531, "2008-03-18", "2023-02-27"], "AKAM": ["Akamai Technologies, Inc.", 34.45000076293945, "2005-01-31", "2023-02-27"], "ALB": ["Albemarle Corporation", 365.5299987792969, "1999-05-05", "2023-02-27"], "ALGN": ["Align Technology, Inc.", 9.670000076293945, "2005-11-21", "2023-02-27"], "ALK": ["Alaska Air Group, Inc.", 65.4000015258789, "1973-02-22", "2023-02-27"], "ALL": ["The Allstate Corporation", 105.13999938964844, "2002-10-28", "2023-02-27"], "ALLE": ["Allegion plc", 78.36000061035156, "1995-11-06", "2023-02-27"], "ALXN": ["Alexion Pharmaceuticals, Inc.", 58.36000061035156, "2017-05-15", "2023-02-27"], "AMAT": ["Applied Materials, Inc.", 157.6999969482422, "1975-11-18", "2023-02-27"], "AMCR": ["Amcor plc", 119.0999984741211, "1997-06-13", "2023-02-27"], "AMD": ["Advanced Micro Devices, Inc.", 105.87999725341797, "2002-07-31", "2023-02-27"], "AME": ["AMETEK, Inc.", 100.02999877929688, "2015-01-05", "2023-02-27"], "AMGN": ["Amgen Inc.", 41.43000030517578, "1973-05-03", "2023-02-27"], "AMP": ["Ameriprise Financial, Inc.", 397.7300109863281, "1993-02-01", "2023-02-27"], "AMT": ["American Tower Corporation (REIT)", 136.8699951171875, "2000-01-31", "2023-02-27"], "AMZN": ["Amazon.com, Inc.", 48.939998626708984, "2014-10-01", "2023-02-27"], "ANET": ["Arista Networks, Inc.", 185.3300018310547, "1975-11-18", "2023-02-27"], "ANSS": ["ANSYS, Inc.", 39.65999984741211, "2005-03-11", "2023-02-27"], "ANTM": ["Anthem, Inc.", 44.4900016784668, "2007-07-27", "2023-02-27"], "AON": ["Aon Plc", 56.9900016784668, "2019-03-21", "2023-02-27"], "AOS": ["A. O. Smith Corporation", 74.37999725341797, "2007-04-11", "2023-02-27"], "APD": ["Air Products and Chemicals, Inc.", 111.54000091552734, "1962-01-03", "2023-02-27"], "APH": ["Amphenol Corporation", 18.100000381469727, "1987-11-06", "2023-02-27"], "APTV": ["Aptiv PLC", 204.05999755859375, "1978-04-13", "2023-02-27"], "ARE": ["Alexandria Real Estate Equities, Inc.", 296.3599853515625, "1982-04-01", "2023-02-27"], "ARNC": ["Arconic Corporation", 120.91000366210938, "1980-10-02", "2023-02-27"], "ATO": ["Atmos Energy Corporation", 295.67999267578125, "1996-06-21", "2023-02-27"], "ATVI": ["Activision Blizzard, Inc.", 171.99000549316406, "2009-10-08", "2023-02-27"], "AVB": ["AvalonBay Communities, Inc.", 231.74000549316406, "2000-06-19", "2023-02-27"], "AVGO": ["Broadcom Inc.", 128.9499969482422, "1993-06-04", "2023-02-27"], "AWK": ["American Water Works Company, Inc.", 57.439998626708984, "2003-10-07", "2023-02-27"], "AXP": ["American Express Company", 15.640000343322754, "2015-10-20", "2023-02-27"], "AZO": ["AutoZone, Inc.", 100.95999908447266, "1997-10-17", "2023-02-27"], "BA": ["The Boeing Company", 66.29000091552734, "1973-10-24", "2023-02-27"], "BAC": ["Bank of America Corporation", 139.13999938964844, "1962-01-03", "2023-02-27"], "BAX": ["Baxter International Inc.", 266.25, "2001-07-20", "2023-02-27"], "BBY": ["Best Buy Co., Inc.", 138.94000244140625, "1973-02-22", "2023-02-27"], "BDX": ["Becton, Dickinson and Company", 181.58999633789062, "1973-02-22", "2023-02-27"], "BEN": ["Franklin Resources, Inc.", 211.67999267578125, "1993-03-26", "2023-02-27"], "BF-B": ["Brown-Forman Corporation", 81.19000244140625, "1980-03-18", "2023-02-27"], "BIIB": ["Biogen Inc.", 24.8799991607666, "1991-06-27", "2023-02-27"], "BK": ["The Bank of New York Mellon Corporation", 122.91000366210938, "1997-11-24", "2023-02-27"], "BKNG": ["Booking Holdings Inc.", 38.5099983215332, "1978-11-01", "2023-02-27"], "BKR": ["Baker Hughes Company", 140.69000244140625, "1999-06-07", "2023-02-27"], "BLK": ["BlackRock, Inc.", 56.02000045776367, "2004-12-16", "2023-02-27"], "BMY": ["Bristol-Myers Squibb Company", 72.11000061035156, "1980-03-18", "2023-02-27"], "BR": ["Broadridge Financial Solutions, Inc.", 184.92999267578125, "2012-10-15", "2023-02-27"], "BRK-B": ["Berkshire Hathaway Inc.", 1182.989990234375, "2007-08-13", "2023-02-27"], "BSX": ["Boston Scientific Corporation", 79.19000244140625, "1980-03-18", "2023-02-27"], "BXP": ["Boston Properties, Inc.", 55.58000183105469, "1973-05-04", "2023-02-27"], "C": ["Citigroup Inc.", 62.810001373291016, "1993-08-13", "2023-02-27"], "CAG": ["Conagra Brands, Inc.", 747.4000244140625, "2006-03-16", "2023-02-27"], "CAH": ["Cardinal Health, Inc.", 247.9499969482422, "1979-01-02", "2023-02-27"], "CAT": ["Caterpillar Inc.", 108.2699966430664, "1962-01-03", "2023-02-27"], "CB": ["Chubb Limited", 89.87000274658203, "2004-08-20", "2023-02-27"], "CBOE": ["Cboe Global Markets, Inc.", 80.9800033569336, "1980-03-18", "2023-02-27"], "CBRE": ["CBRE Group, Inc.", 88.68000030517578, "2001-10-24", "2023-02-27"], "CCI": ["Crown Castle International Corp. (REIT)", 144.36000061035156, "2012-10-15", "2023-02-27"], "CCL": ["Carnival Corporation & Plc", 122.51000213623047, "1993-12-15", "2023-02-27"], "CDNS": ["Cadence Design Systems, Inc.", 131.61000061035156, "1980-03-18", "2023-02-27"], "CDW": ["CDW Corporation", 468.17999267578125, "1991-06-24", "2023-02-27"], "CE": ["Celanese Corporation", 110.55000305175781, "1962-01-03", "2023-02-27"], "CERN": ["Cerner Corporation", 39.81999969482422, "1981-10-28", "2023-02-27"], "CF": ["CF Industries Holdings, Inc.", 285.92999267578125, "1987-10-27", "2023-02-27"], "CFG": ["Citizens Financial Group, Inc.", 112.06999969482422, "1980-03-18", "2023-02-27"], "CHD": ["Church & Dwight Co., Inc.", 34.5, "1980-03-18", "2023-02-27"], "CHRW": ["C.H. Robinson Worldwide, Inc.", 15.670000076293945, "2001-06-18", "2023-02-27"], "CHTR": ["Charter Communications, Inc.", 53.0099983215332, "1988-01-27", "2023-02-27"], "CI": ["Cigna Corporation", 126.25, "1980-03-18", "2023-02-27"], "CINF": ["Cincinnati Financial Corporation", 77.41000366210938, "1983-08-05", "2023-02-27"], "CL": ["Colgate-Palmolive Company", 71.63999938964844, "2017-04-10", "2023-02-27"], "CLX": ["The Clorox Company", 53.75, "1975-06-13", "2023-02-27"], "CMA": ["Comerica Incorporated", 33.02000045776367, "2003-12-03", "2023-02-27"], "CMCSA": ["Comcast Corporation", 17.469999313354492, "1995-08-28", "2023-02-27"], "CME": ["CME Group Inc.", 75.01000213623047, "1973-02-22", "2023-02-27"], "CMG": ["Chipotle Mexican Grill, Inc.", 50.84000015258789, "1973-05-04", "2023-02-27"], "CMI": ["Cummins Inc.", 230.6199951171875, "1962-01-03", "2023-02-27"], "CMS": ["CMS Energy Corporation", 162.22999572753906, "1973-02-22", "2023-02-27"], "CNC": ["Centene Corporation", 113.0, "2013-11-19", "2023-02-27"], "CNP": ["CenterPoint Energy, Inc.", 69.95999908447266, "1994-03-18", "2023-02-27"], "COF": ["Capital One Financial Corporation", 10.829999923706055, "1987-07-27", "2023-02-27"], "COG": ["Cabot Oil & Gas Corporation", 141.44000244140625, "1972-08-28", "2023-02-27"], "COP": ["ConocoPhillips", 106.72000122070312, "1973-05-04", "2023-02-27"], "COST": ["Costco Wholesale Corporation", 94.52999877929688, "1974-12-18", "2023-02-27"], "COTY": ["Coty Inc.", 41.75, "2014-09-25", "2023-02-27"], "CPB": ["Campbell Soup Company", 208.8800048828125, "2013-05-10", "2023-02-27"], "CPRI": ["Capri Holdings Limited", 39.65999984741211, "2015-07-07", "2023-02-27"], "CRM": ["salesforce.com, inc.", 483.32000732421875, "1984-10-18", "2023-02-27"], "CSCO": ["Cisco Systems, Inc.", 196.67999267578125, "1985-07-01", "2023-02-27"], "CSX": ["CSX Corporation", 100.44999694824219, "1962-01-03", "2023-02-27"], "CTAS": ["Cintas Corporation", 242.13999938964844, "1995-11-20", "2023-02-27"], "CTL": ["CenturyLink, Inc.", 845.9600219726562, "1993-04-26", "2023-02-27"], "CTSH": ["Cognizant Technology Solutions Corporation", 234.42999267578125, "1994-02-18", "2023-02-27"], "CTVA": ["Corteva, Inc.", 50.470001220703125, "1977-01-04", "2023-02-27"], "CTXS": ["Citrix Systems, Inc.", 61.52000045776367, "1980-01-03", "2023-02-27"], "CVS": ["CVS Health Corporation", 11.206999778747559, "2012-05-16", "2023-02-27"], "CVX": ["Chevron Corporation", 259.8999938964844, "1999-06-17", "2023-02-27"], "CXO": ["Concho Resources Inc.", 342.3699951171875, "2004-11-08", "2023-02-27"], "D": ["Dominion Energy, Inc.", 34.72999954223633, "1997-08-18", "2023-02-27"], "DAL": ["Delta Air Lines, Inc.", 323.0299987792969, "2002-05-24", "2023-02-27"], "DD": ["DuPont de Nemours, Inc.", 178.16000366210938, "2001-03-12", "2023-02-27"], "DFS": ["Discover Financial Services", 47.91999816894531, "1980-03-18", "2023-02-27"], "DG": ["Dollar General Corporation", 127.19999694824219, "2007-06-15", "2023-02-27"], "DGX": ["Quest Diagnostics Incorporated", 2572.25, "1991-04-03", "2023-02-27"], "DHI": ["D.R. Horton, Inc.", 102.91999816894531, "1992-04-02", "2023-02-27"], "DHR": ["Danaher Corporation", 234.4499969482422, "1983-06-20", "2023-02-27"], "DIS": ["The Walt Disney Company", 104.87999725341797, "2004-11-01", "2023-02-27"], "DISCA": ["Discovery, Inc.", 67.94000244140625, "1980-10-02", "2023-02-27"], "DISCK": ["Discovery, Inc.", 95.80999755859375, "1980-03-18", "2023-02-27"], "DISH": ["DISH Network Corporation", 175.91000366210938, "1972-06-02", "2023-02-27"], "DLR": ["Digital Realty Trust, Inc.", 506.510009765625, "1982-01-04", "2023-02-27"], "DLTR": ["Dollar Tree, Inc.", 17.360000610351562, "2011-02-14", "2023-02-27"], "DOV": ["Dover Corporation", 109.02999877929688, "1994-11-17", "2023-02-27"], "DRE": ["Duke Realty Corporation", 123.45999908447266, "2006-12-14", "2023-02-27"], "DTE": ["DTE Energy Company", 107.62999725341797, "1983-07-05", "2023-02-27"], "DUK": ["Duke Energy Corporation", 60.189998626708984, "1973-02-22", "2023-02-27"], "DVN": ["Devon Energy Corporation", 675.02001953125, "1973-02-22", "2023-02-27"], "DXC": ["DXC Technology Company", 354.80999755859375, "1994-11-11", "2023-02-27"], "EA": ["Electronic Arts Inc.", 166.80999755859375, "1973-02-22", "2023-02-27"], "ECL": ["Ecolab Inc.", 105.41999816894531, "2007-09-11", "2023-02-27"], "ED": ["Consolidated Edison, Inc.", 381.0199890136719, "1987-07-30", "2022-12-23"], "EFX": ["Equifax Inc.", 121.36000061035156, "1980-03-18", "2023-02-27"], "EIX": ["Edison International", 64.5050048828125, "1994-10-19", "2023-02-27"], "EL": ["The Estee Lauder Companies Inc.", 73.7699966430664, "2015-07-07", "2023-02-27"], "EMN": ["Eastman Chemical Company", 35.099998474121094, "1980-03-18", "2023-02-27"], "EMR": ["Emerson Electric Co.", 27.549999237060547, "1980-03-18", "2023-02-27"], "EOG": ["EOG Resources, Inc.", 83.83999633789062, "1962-01-03", "2023-02-27"], "EQIX": ["Equinix, Inc. (REIT)", 147.9199981689453, "1980-12-15", "2023-02-27"], "EQR": ["Equity Residential", 463.260009765625, "1997-12-19", "2023-02-27"], "ES": ["Eversource Energy", 111.31999969482422, "1984-09-10", "2023-02-27"], "ESS": ["Essex Property Trust, Inc.", 73.02999877929688, "1972-06-02", "2023-02-27"], "ETFC": ["E*TRADE Financial Corporation", 94.25, "1980-03-18", "2023-02-27"], "ETN": ["Eaton Corporation plc", 184.89999389648438, "1984-06-21", "2023-02-27"], "ETR": ["Entergy Corporation", 124.44000244140625, "1996-07-01", "2023-02-27"], "EVRG": ["Evergy, Inc.", 142.17999267578125, "1999-11-19", "2023-02-27"], "EW": ["Edwards Lifesciences Corporation", 129.25, "1998-07-02", "2023-02-27"], "EXC": ["Exelon Corporation", 221.94000244140625, "1980-03-18", "2023-02-27"], "EXPD": ["Expeditors International of Washington, Inc.", 239.97999572753906, "1962-01-03", "2023-02-27"], "EXPE": ["Expedia Group, Inc.", 75.1500015258789, "2007-04-11", "2023-02-27"], "EXR": ["Extra Space Storage Inc.", 31.040000915527344, "1987-04-07", "2023-02-27"], "F": ["Ford Motor Company", 48.72999954223633, "1990-02-20", "2023-02-27"], "FANG": ["Diamondback Energy, Inc.", 56.33000183105469, "1980-03-18", "2023-02-27"], "FAST": ["Fastenal Company", 123.41999816894531, "1991-12-16", "2023-02-27"], "FB": ["Facebook, Inc.", 145.83999633789062, "1981-07-10", "2023-02-27"], "FBHS": ["Fortune Brands Home & Security, Inc.", 120.9800033569336, "1980-03-18", "2023-02-27"], "FCX": ["Freeport-McMoRan Inc.", 29.290000915527344, "2014-02-18", "2023-02-27"], "FDX": ["FedEx Corporation", 44.310001373291016, "2000-07-03", "2023-02-27"], "FE": ["FirstEnergy Corp.", 139.36000061035156, "2005-08-08", "2023-02-27"], "FFIV": ["F5 Networks, Inc.", 52.56999969482422, "1996-02-02", "2023-02-27"], "FIS": ["Fidelity National Information Services, Inc.", 70.04000091552734, "1980-03-18", "2023-02-27"], "FITB": ["Fifth Third Bancorp", 24.899999618530273, "1980-03-18", "2023-02-27"], "FLIR": ["FLIR Systems, Inc.", 355.4800109863281, "2006-05-26", "2023-02-27"], "FLS": ["Flowserve Corporation", 200.4600067138672, "1962-01-03", "2023-02-27"], "FLT": ["FLEETCOR Technologies, Inc.", 19.030000686645508, "1983-11-22", "2023-02-27"], "FMC": ["FMC Corporation", 80.2699966430664, "1990-03-02", "2023-02-27"], "FOX": ["Fox Corporation", 110.98999786376953, "1983-08-29", "2023-02-27"], "FOXA": ["Fox Corporation", 12.199999809265137, "1995-06-22", "2023-02-27"], "FRC": ["First Republic Bank", 117.45999908447266, "2005-01-24", "2023-02-27"], "FRT": ["Federal Realty Investment Trust", 683.0599975585938, "1999-10-04", "2023-02-27"], "FTI": ["TechnipFMC plc", 269.20001220703125, "1991-09-18", "2023-02-27"], "FTNT": ["Fortinet, Inc.", 17.270000457763672, "2013-06-20", "2023-02-27"], "FTV": ["Fortive Corporation", 49.9900016784668, "2011-12-16", "2023-02-27"], "GD": ["General Dynamics Corporation", 350.4800109863281, "1980-03-18", "2023-02-27"], "GE": ["General Electric Company", 93.76000213623047, "1997-05-16", "2023-02-27"], "GILD": ["Gilead Sciences, Inc.", 39.22999954223633, "1979-05-16", "2023-02-27"], "GIS": ["General Mills, Inc.", 19.3700008392334, "1980-03-18", "2023-02-27"], "GL": ["Globe Life Inc.", 38.880001068115234, "1983-11-22", "2023-02-27"], "GLW": ["Corning Incorporated", 327.3900146484375, "1993-10-06", "2023-02-27"], "GM": ["General Motors Company", 174.3800048828125, "1972-06-02", "2023-02-27"], "GOOG": ["Alphabet Inc.", 90.8499984741211, "1962-01-03", "2023-02-27"], "GOOGL": ["Alphabet Inc.", 25.829999923706055, "1962-01-03", "2023-02-27"], "GPC": ["Genuine Parts Company", 164.27999877929688, "1980-03-18", "2023-02-27"], "GPN": ["Global Payments Inc.", 138.66000366210938, "1996-12-18", "2023-02-27"], "GPS": ["The Gap, Inc.", 114.75, "1989-10-05", "2023-02-27"], "GRMN": ["Garmin Ltd.", 138.8800048828125, "1980-03-18", "2023-02-27"], "GS": ["The Goldman Sachs Group, Inc.", 209.97999572753906, "2010-12-16", "2023-02-27"], "HAL": ["Halliburton Company", 341.9900207519531, "1991-10-25", "2023-02-27"], "HAS": ["Hasbro, Inc.", 22.139999389648438, "1996-10-30", "2023-02-27"], "HBAN": ["Huntington Bancshares Incorporated", 101.77999877929688, "2012-04-20", "2023-02-27"], "HBI": ["Hanesbrands Inc.", 2521.080078125, "1999-04-01", "2023-02-27"], "HCA": ["HCA Healthcare, Inc.", 71.83000183105469, "2005-12-22", "2023-02-27"], "HD": ["The Home Depot, Inc.", 43.060001373291016, "1980-03-18", "2023-02-27"], "HFC": ["HollyFrontier Corporation", 35.369998931884766, "2008-05-08", "2023-02-27"], "HIG": ["The Hartford Financial Services Group, Inc.", 239.22000122070312, "1980-03-18", "2023-02-27"], "HII": ["Huntington Ingalls Industries, Inc.", 421.6300048828125, "1972-06-02", "2023-02-27"], "HLT": ["Hilton Worldwide Holdings Inc.", 126.58000183105469, "2011-06-27", "2023-02-27"], "HOG": ["Harley-Davidson, Inc.", 73.30000305175781, "1999-11-01", "2023-02-27"], "HOLX": ["Hologic, Inc.", 11.210000038146973, "2013-06-14", "2023-02-27"], "HON": ["Honeywell International Inc.", 177.74000549316406, "2010-08-09", "2023-02-27"], "HP": ["Helmerich & Payne, Inc.", 59.619998931884766, "2009-11-19", "2023-02-27"], "HPE": ["Hewlett Packard Enterprise Company", 375.04998779296875, "2010-01-06", "2023-02-27"], "HPQ": ["HP Inc.", 36.06999969482422, "1980-03-18", "2023-02-27"], "HRB": ["H&R Block, Inc.", 224.69000244140625, "1992-03-18", "2023-02-27"], "HST": ["Host Hotels & Resorts, Inc.", 195.0800018310547, "1998-03-02", "2023-02-27"], "HSY": ["The Hershey Company", 161.47000122070312, "1994-01-31", "2023-02-27"], "HUM": ["Humana Inc.", 339.8399963378906, "2005-09-16", "2023-02-27"], "IBM": ["International Business Machines Corporation", 487.0299987792969, "1986-07-10", "2023-02-27"], "ICE": ["Intercontinental Exchange, Inc.", 163.13999938964844, "2004-06-24", "2023-02-27"], "IDXX": ["IDEXX Laboratories, Inc.", 238.92999267578125, "1980-03-18", "2023-02-27"], "IEX": ["IDEX Corporation", 154.27999877929688, "2013-01-03", "2023-02-27"], "IFF": ["International Flavors & Fragrances Inc.", 83.38999938964844, "1973-05-03", "2023-02-27"], "ILMN": ["Illumina, Inc.", 246.85000610351562, "1973-02-22", "2023-02-27"], "INCY": ["Incyte Corporation", 585.4500122070312, "2009-08-07", "2023-02-27"], "INFO": ["IHS Markit Ltd.", 182.22999572753906, "1999-11-11", "2023-02-27"], "INTC": ["Intel Corporation", 243.1999969482422, "1973-02-22", "2023-02-27"], "INTU": ["Intuit Inc.", 43.93000030517578, "2000-06-26", "2023-02-27"], "IP": ["International Paper Company", 428.989990234375, "1992-02-14", "2023-02-27"], "IPG": ["The Interpublic Group of Companies, Inc.", 73.05999755859375, "1973-02-22", "2023-02-27"], "IPGP": ["IPG Photonics Corporation", 35.6400032043457, "1980-03-18", "2023-02-27"], "IQV": ["IQVIA Holdings Inc.", 109.36000061035156, "1962-01-03", "2023-02-27"], "IR": ["Ingersoll Rand Inc.", 285.4200134277344, "1980-03-18", "2023-02-27"], "IRM": ["Iron Mountain Incorporated", 24.31999969482422, "1980-03-18", "2023-02-27"], "ISRG": ["Intuitive Surgical, Inc.", 173.24000549316406, "1994-03-14", "2023-02-27"], "IT": ["Gartner, Inc.", 204.24000549316406, "1980-03-18", "2023-02-27"], "ITW": ["Illinois Tool Works Inc.", 84.58999633789062, "1980-03-18", "2023-02-27"], "IVZ": ["Invesco Ltd.", 184.13999938964844, "2002-12-09", "2023-02-27"], "J": ["Jacobs Engineering Group Inc.", 5166.93017578125, "1985-07-23", "2023-02-27"], "JBHT": ["J.B. Hunt Transport Services, Inc.", 59.81999969482422, "1962-01-03", "2023-02-27"], "JCI": ["Johnson Controls International plc", 217.3800048828125, "2011-03-23", "2023-02-27"], "JKHY": ["Jack Henry & Associates, Inc.", 66.05999755859375, "1997-06-19", "2023-02-27"], "JNJ": ["Johnson & Johnson", 144.1300048828125, "2007-04-20", "2023-02-27"], "JNPR": ["Juniper Networks, Inc.", 110.58000183105469, "2005-04-15", "2023-02-27"], "JPM": ["JPMorgan Chase & Co.", 262.6199951171875, "1980-03-18", "2023-02-27"], "JWN": ["Nordstrom, Inc.", 523.1500244140625, "2007-10-26", "2023-02-27"], "K": ["Kellogg Company", 59.93000030517578, "1980-03-18", "2023-02-27"], "KEY": ["KeyCorp", 344.4800109863281, "1992-06-18", "2023-02-27"], "KEYS": ["Keysight Technologies, Inc.", 68.2300033569336, "1980-03-18", "2023-02-27"], "KHC": ["The Kraft Heinz Company", 139.77999877929688, "2008-04-24", "2023-02-27"], "KIM": ["Kimco Realty Corporation", 341.510009765625, "1973-02-22", "2023-02-27"], "KLAC": ["KLA Corporation", 72.04000091552734, "1993-04-29", "2023-02-27"], "KMB": ["Kimberly-Clark Corporation", 159.75999450683594, "1973-02-22", "2023-02-27"], "KMI": ["Kinder Morgan, Inc.", 95.9000015258789, "1980-03-18", "2023-02-27"], "KMX": ["CarMax, Inc.", 37.84000015258789, "2007-05-04", "2023-02-27"], "KO": ["The Coca-Cola Company", 381.1199951171875, "1995-10-04", "2023-02-27"], "KR": ["The Kroger Co.", 316.6199951171875, "1972-06-02", "2023-02-27"], "KSS": ["Kohl's Corporation", 52.439998626708984, "1980-03-18", "2023-02-27"], "KSU": ["Kansas City Southern", 148.05999755859375, "1994-11-01", "2023-02-27"], "L": ["Loews Corporation", 76.95999908447266, "1991-11-11", "2023-02-27"], "LB": ["L Brands, Inc.", 73.5999984741211, "1973-05-03", "2023-02-27"], "LDOS": ["Leidos Holdings, Inc.", 49.33000183105469, "1997-05-06", "2023-02-27"], "LEG": ["Leggett & Platt, Incorporated", 49.5, "1980-03-18", "2023-02-27"], "LHX": ["L3Harris Technologies, Inc.", 55.290000915527344, "1980-03-18", "2023-02-27"], "LIN": ["Linde plc", 13.069999694824219, "2006-10-03", "2023-02-27"], "LKQ": ["LKQ Corporation", 188.3300018310547, "1992-06-02", "2023-02-27"], "LLY": ["Eli Lilly and Company", 232.8000030517578, "1973-03-14", "2023-02-27"], "LMT": ["Lockheed Martin Corporation", 20.6299991607666, "1991-11-25", "2023-02-27"], "LNC": ["Lincoln National Corporation", 693.2000122070312, "2000-08-14", "2023-02-27"], "LNT": ["Alliant Energy Corporation", 84.83999633789062, "1973-02-22", "2023-02-27"], "LOW": ["Lowe's Companies, Inc.", 16.329999923706055, "1962-01-03", "2023-02-27"], "LRCX": ["Lam Research Corporation", 77.83999633789062, "1995-12-18", "2023-02-27"], "LUV": ["Southwest Airlines Co.", 62.7400016784668, "1987-09-29", "2023-02-27"], "LVS": ["Las Vegas Sands Corp.", 36.34000015258789, "1991-12-18", "2023-02-27"], "LYB": ["LyondellBasell Industries N.V.", 4.460000038146973, "1994-09-14", "2023-02-27"], "LYV": ["Live Nation Entertainment, Inc.", 138.27000427246094, "2018-12-10", "2023-02-27"], "M": ["Macy's, Inc.", 20.010000228881836, "1980-03-18", "2023-02-27"], "MA": ["Mastercard Incorporated", 101.25, "2002-07-31", "2023-02-27"], "MAA": ["Mid-America Apartment Communities, Inc.", 40.779998779296875, "1972-06-02", "2023-02-27"], "MAR": ["Marriott International, Inc.", 91.48999786376953, "1992-06-08", "2023-02-27"], "MAS": ["Masco Corporation", 201.97000122070312, "1997-08-11", "2023-02-27"], "MCD": ["McDonald's Corporation", 65.63999938964844, "2001-06-14", "2023-02-27"], "MCHP": ["Microchip Technology Incorporated", 12.9399995803833, "2019-09-27", "2023-02-27"], "MDLZ": ["Mondelez International, Inc.", 66.62000274658203, "2016-07-06", "2023-02-27"], "MDT": ["Medtronic plc", 7.5, "1994-07-25", "2023-02-27"], "MET": ["MetLife, Inc.", 105.86000061035156, "1982-01-04", "2023-02-27"], "MGM": ["MGM Resorts International", 141.35000610351562, "1984-07-20", "2023-02-27"], "MHK": ["Mohawk Industries, Inc.", 145.08999633789062, "2013-12-13", "2023-02-27"], "MKTX": ["MarketAxess Holdings Inc.", 17.65999984741211, "2019-02-05", "2023-02-27"], "MLM": ["Martin Marietta Materials, Inc.", 49.709999084472656, "2014-10-01", "2023-02-27"], "MMC": ["Marsh & McLennan Companies, Inc.", 47.25, "1986-07-09", "2023-02-27"], "MMM": ["3M Company", 131.64999389648438, "1998-08-19", "2023-02-27"], "MNST": ["Monster Beverage Corporation", 129.22000122070312, "1980-03-18", "2023-02-27"], "MO": ["Altria Group, Inc.", 59.70000076293945, "1973-02-22", "2023-02-27"], "MOS": ["The Mosaic Company", 51.459999084472656, "1973-02-22", "2023-02-27"], "MPC": ["Marathon Petroleum Corporation", 49.98999786376953, "1993-08-16", "2023-02-27"], "MRK": ["Merck & Co., Inc.", 91.0199966430664, "1980-03-18", "2023-02-27"], "MRO": ["Marathon Oil Corporation", 20.40999984741211, "1992-02-06", "2023-02-27"], "MS": ["Morgan Stanley", 99.16000366210938, "1962-04-03", "2023-02-27"], "MSCI": ["MSCI Inc.", 53.70000076293945, "2013-11-08", "2022-10-27"], "MSFT": ["Microsoft Corporation", 202.52000427246094, "2013-06-28", "2023-02-27"], "MSI": ["Motorola Solutions, Inc.", 106.08000183105469, "1972-06-02", "2023-02-27"], "MTB": ["M&T Bank Corporation", 104.22000122070312, "1995-06-19", "2023-02-27"], "MTD": ["Mettler-Toledo International Inc.", 248.0399932861328, "2011-03-11", "2023-02-27"], "MU": ["Micron Technology, Inc.", 287.3999938964844, "1991-07-25", "2023-02-27"], "MXIM": ["Maxim Integrated Products, Inc.", 90.0999984741211, "2004-08-20", "2023-02-27"], "MYL": ["Mylan, Inc.", 58.959999084472656, "1982-01-04", "2023-02-27"], "NBL": ["Noble Energy, Inc.", 130.49000549316406, "1962-01-03", "2023-02-27"], "NCLH": ["Norwegian Cruise Line Holdings Ltd.", 102.31999969482422, "1985-12-10", "2023-02-27"], "NDAQ": ["Nasdaq, Inc.", 23522.87109375, "2014-09-18", "2023-02-27"], "NEE": ["NextEra Energy, Inc.", 43.189998626708984, "2000-10-09", "2023-02-27"], "NEM": ["Newmont Corporation", 76.61000061035156, "1993-11-05", "2023-02-27"], "NFLX": ["Netflix, Inc.", 12.0600004196167, "1972-06-02", "2023-02-27"], "NI": ["NiSource Inc.", 45.79999923706055, "1998-09-25", "2023-02-27"], "NKE": ["NIKE, Inc.", 428.57000732421875, "2012-07-02", "2023-02-27"], "NLOK": ["NortonLifeLock Inc.", 525.7899780273438, "2007-11-16", "2023-02-27"], "NLSN": ["Nielsen Holdings plc", 39.90999984741211, "1997-11-11", "2023-02-27"], "NOC": ["Northrop Grumman Corporation", 225.22000122070312, "1989-06-05", "2023-02-27"], "NOV": ["National Oilwell Varco, Inc.", 64.7699966430664, "1995-11-22", "2023-02-27"], "NRG": ["NRG Energy, Inc.", 44.79999923706055, "1980-03-18", "2023-02-27"], "NSC": ["Norfolk Southern Corporation", 44.2599983215332, "1986-11-07", "2023-02-27"], "NTAP": ["NetApp, Inc.", 295.2200012207031, "1980-11-19", "2023-02-27"], "NTRS": ["Northern Trust Corporation", 103.6500015258789, "2012-04-13", "2023-02-27"], "NUE": ["Nucor Corporation", 29.389999389648438, "1962-01-03", "2023-02-27"], "NVDA": ["NVIDIA Corporation", 33.540000915527344, "1980-01-03", "2023-02-27"], "NVR": ["NVR, Inc.", 110.08000183105469, "1997-04-16", "2023-02-27"], "NWL": ["Newell Brands Inc.", 46.779998779296875, "1972-06-02", "2023-02-27"], "NWS": ["News Corporation", 240.64999389648438, "1990-03-30", "2023-02-27"], "NWSA": ["News Corporation", 82.62999725341797, "1985-04-19", "2023-02-27"], "O": ["Realty Income Corporation", 154.8800048828125, "1998-06-30", "2023-02-27"], "ODFL": ["Old Dominion Freight Line, Inc.", 235.00999450683594, "1999-01-25", "2023-02-27"], "OKE": ["ONEOK, Inc.", 73.27999877929688, "2007-04-11", "2023-02-27"], "OMC": ["Omnicom Group Inc.", 30.700000762939453, "1982-01-04", "2023-02-27"], "ORCL": ["Oracle Corporation", 37.02000045776367, "1972-06-02", "2023-02-27"], "ORLY": ["O'Reilly Automotive, Inc.", 140.5500030517578, "2007-03-23", "2023-02-27"], "OXY": ["Occidental Petroleum Corporation", 151.52999877929688, "1997-05-29", "2023-02-27"], "PAYC": ["Paycom Software, Inc.", 164.6199951171875, "2015-12-10", "2023-02-27"], "PAYX": ["Paychex, Inc.", 207.6300048828125, "2010-06-30", "2023-02-27"], "PBCT": ["People's United Financial, Inc.", 47.13999938964844, "1980-03-19", "2023-02-27"], "PCAR": ["PACCAR Inc", 83.9000015258789, "1998-01-05", "2023-02-27"], "PEAK": ["Healthpeak Properties, Inc.", 31.639999389648438, "2015-06-25", "2023-02-27"], "PEG": ["Public Service Enterprise Group Incorporated", 221.60000610351562, "1980-03-18", "2023-02-27"], "PEP": ["PepsiCo, Inc.", 83.87999725341797, "1980-03-18", "2023-02-27"], "PFE": ["Pfizer Inc.", 632.0800170898438, "1995-03-16", "2023-02-27"], "PFG": ["Principal Financial Group, Inc.", 43.40999984741211, "1962-01-03", "2023-02-27"], "PG": ["The Procter & Gamble Company", 106.83999633789062, "2005-07-22", "2023-02-27"], "PGR": ["The Progressive Corporation", 99.7699966430664, "1980-03-18", "2023-02-27"], "PH": ["Parker-Hannifin Corporation", 165.75, "1985-11-21", "2023-02-27"], "PHM": ["PulteGroup, Inc.", 14.420000076293945, "1980-03-18", "2023-02-27"], "PKG": ["Packaging Corporation of America", 77.08999633789062, "1973-02-22", "2023-02-27"], "PKI": ["PerkinElmer, Inc.", 379.0899963378906, "1980-10-09", "2023-02-27"], "PLD": ["Prologis, Inc.", 110.91999816894531, "1985-08-09", "2023-02-27"], "PM": ["Philip Morris International Inc.", 155.05999755859375, "1973-02-22", "2023-02-27"], "PNC": ["The PNC Financial Services Group, Inc.", 30.68000030517578, "1999-06-28", "2023-02-27"], "PNR": ["Pentair plc", 74.2699966430664, "1980-03-20", "2023-02-27"], "PPG": ["PPG Industries, Inc.", 22.1299991607666, "2020-04-02", "2023-02-27"], "PPL": ["PPL Corporation", 296.2300109863281, "1991-08-16", "2023-02-27"], "PRGO": ["Perrigo Company plc", 142.16000366210938, "1980-03-18", "2023-02-27"], "PRU": ["Prudential Financial, Inc.", 79.68000030517578, "1980-03-18", "2023-02-27"], "PSX": ["Phillips 66", 34.54999923706055, "1980-03-18", "2023-02-27"], "PVH": ["PVH Corp.", 34.209999084472656, "1973-02-22", "2023-02-27"], "PWR": ["Quanta Services, Inc.", 41.380001068115234, "1993-01-20", "2023-02-27"], "PXD": ["Pioneer Natural Resources Company", 29.93000030517578, "2014-11-03", "2023-02-27"], "PYPL": ["PayPal Holdings, Inc.", 46.81999969482422, "1992-05-20", "2023-02-27"], "QCOM": ["QUALCOMM Incorporated", 165.47000122070312, "2013-02-04", "2023-02-27"], "QRVO": ["Qorvo, Inc.", 363.3599853515625, "1992-02-27", "2023-02-27"], "RCL": ["Royal Caribbean Cruises Ltd.", 294.3900146484375, "1982-01-04", "2023-02-27"], "REG": ["Regency Centers Corporation", 365.489990234375, "2010-09-10", "2023-02-27"], "REGN": ["Regeneron Pharmaceuticals, Inc.", 289.7099914550781, "1994-11-01", "2023-02-27"], "RF": ["Regions Financial Corporation", 110.9000015258789, "1989-09-21", "2023-02-27"], "RHI": ["Robert Half International Inc.", 150.0, "1980-03-18", "2023-02-27"], "RJF": ["Raymond James Financial, Inc.", 77.33999633789062, "2000-03-28", "2023-02-27"], "RL": ["Ralph Lauren Corporation", 161.8800048828125, "2004-08-17", "2023-02-27"], "RMD": ["ResMed Inc.", 30.899999618530273, "1973-05-04", "2023-02-27"], "ROK": ["Rockwell Automation, Inc.", 310.0400085449219, "1995-11-20", "2023-02-27"], "ROL": ["Rollins, Inc.", 310.29998779296875, "2007-07-30", "2023-02-27"], "ROP": ["Roper Technologies, Inc.", 192.4499969482422, "1962-01-03", "2023-02-27"], "ROST": ["Ross Stores, Inc.", 155.07000732421875, "1980-03-18", "2023-02-27"], "RSG": ["Republic Services, Inc.", 75.69999694824219, "1973-05-09", "2023-02-27"], "RTX": ["Raytheon Technologies Corporation", 90.06999969482422, "1962-01-03", "2023-02-27"], "SBAC": ["SBA Communications Corporation (REIT)", 51.56999969482422, "1987-08-21", "2023-02-27"], "SBUX": ["Starbucks Corporation", 1494.75, "2006-01-27", "2023-02-27"], "SCHW": ["The Charles Schwab Corporation", 37.349998474121094, "1980-03-18", "2023-02-27"], "SEE": ["Sealed Air Corporation", 196.89999389648438, "2000-07-31", "2023-02-27"], "SHW": ["The Sherwin-Williams Company", 29.469999313354492, "1983-09-26", "2023-02-27"], "SIVB": ["SVB Financial Group", 85.83999633789062, "2004-09-30", "2023-02-27"], "SJM": ["The J. M. Smucker Company", 47.58000183105469, "1973-05-04", "2023-02-27"], "SLB": ["Schlumberger Limited", 95.61000061035156, "2002-07-31", "2023-02-27"], "SLG": ["SL Green Realty Corp.", 184.2899932861328, "1980-03-18", "2023-02-27"], "SNA": ["Snap-on Incorporated", 121.9000015258789, "2010-12-10", "2023-02-27"], "SNPS": ["Synopsys, Inc.", 53.70000076293945, "1980-03-18", "2023-02-27"], "SO": ["The Southern Company", 293.94000244140625, "1999-03-11", "2023-02-27"], "SPGI": ["S&P Global Inc.", 23.270000457763672, "1980-03-18", "2023-02-27"], "SRE": ["Sempra Energy", 44.7400016784668, "2014-05-23", "2023-02-27"], "STE": ["STERIS plc", 96.69999694824219, "1993-02-24", "2023-02-27"], "STT": ["State Street Corporation", 162.89999389648438, "1998-02-13", "2023-02-27"], "STX": ["Seagate Technology plc", 82.0999984741211, "1972-06-02", "2023-02-27"], "STZ": ["Constellation Brands, Inc.", 304.6600036621094, "1996-05-10", "2023-02-27"], "SWK": ["Stanley Black & Decker, Inc.", 101.51000213623047, "2005-11-17", "2023-02-27"], "SWKS": ["Skyworks Solutions, Inc.", 757.7899780273438, "1991-04-03", "2023-02-27"], "SYF": ["Synchrony Financial", 250.16000366210938, "1986-03-14", "2023-02-27"], "SYK": ["Stryker Corporation", 99.02999877929688, "2001-12-14", "2023-02-27"], "SYY": ["Sysco Corporation", 78.7699966430664, "1980-03-18", "2023-02-27"], "T": ["AT&T Inc.", 198.27999877929688, "1998-02-02", "2023-02-27"], "TAP": ["Molson Coors Beverage Company", 470.07000732421875, "1982-01-04", "2023-02-27"], "TDG": ["TransDigm Group Incorporated", 35.4900016784668, "2003-12-10", "2023-02-27"], "TEL": ["TE Connectivity Ltd.", 296.010009765625, "1981-09-23", "2023-02-27"], "TFC": ["Truist Financial Corporation", 151.07000732421875, "1988-06-23", "2023-02-27"], "TFX": ["Teleflex Incorporated", 27.489999771118164, "1973-02-22", "2023-02-27"], "TGT": ["Target Corporation", 173.3000030517578, "1972-06-02", "2023-02-27"], "TIF": ["Tiffany & Co.", 87.95999908447266, "1986-03-13", "2023-02-27"], "TJX": ["The TJX Companies, Inc.", 80.62000274658203, "1993-03-22", "2023-02-27"], "TMO": ["Thermo Fisher Scientific Inc.", 28.469999313354492, "1962-01-03", "2023-02-27"], "TMUS": ["T-Mobile US, Inc.", 57.900001525878906, "1984-06-04", "2023-02-27"], "TROW": ["T. Rowe Price Group, Inc.", 36.58000183105469, "1962-01-03", "2023-02-27"], "TRV": ["The Travelers Companies, Inc.", 111.44999694824219, "2007-06-15", "2023-02-27"], "TSCO": ["Tractor Supply Company", 65.23999786376953, "1980-03-18", "2023-02-27"], "TSLA": ["Tesla Inc.", 138.0, "2014-06-09", "2023-02-27"], "TSN": ["Tyson Foods, Inc.", 69.98999786376953, "1972-06-02", "2023-02-27"], "TT": ["Trane Technologies plc", 294.1199951171875, "2014-04-16", "2023-02-27"], "TTWO": ["Take-Two Interactive Software, Inc.", 169.61000061035156, "1998-03-24", "2023-02-27"], "TWTR": ["Twitter, Inc.", 359.94000244140625, "1994-02-18", "2023-02-27"], "TXN": ["Texas Instruments Incorporated", 59.7599983215332, "2018-04-30", "2023-02-27"], "TXT": ["Textron Inc.", 35.5, "2014-08-01", "2023-02-27"], "UA": ["Under Armour, Inc.", 181.1199951171875, "1973-02-22", "2023-02-27"], "UAA": ["Under Armour, Inc.", 85.19000244140625, "2004-06-14", "2023-02-27"], "UAL": ["United Airlines Holdings, Inc.", 35.38999938964844, "1980-03-18", "2023-02-27"], "UDR": ["UDR, Inc.", 35.43000030517578, "2019-03-13", "2023-02-27"], "UHS": ["Universal Health Services, Inc.", 68.12999725341797, "1973-05-04", "2023-02-27"], "ULTA": ["Ulta Beauty, Inc.", 1431.5899658203125, "1997-11-17", "2023-02-27"], "UNH": ["UnitedHealth Group Incorporated", 162.82000732421875, "1962-01-03", "2023-02-27"], "UNM": ["Unum Group", 332.29998779296875, "1983-01-24", "2023-02-27"], "UNP": ["Union Pacific Corporation", 216.10000610351562, "2009-11-16", "2023-02-27"], "UPS": ["United Parcel Service, Inc.", 37.06999969482422, "1973-02-22", "2023-02-27"], "URI": ["United Rentals, Inc.", 102.44000244140625, "1992-06-29", "2023-02-27"], "USB": ["U.S. Bancorp", 210.6999969482422, "1982-01-04", "2023-02-27"], "V": ["Visa Inc.", 63.06999969482422, "1993-11-01", "2023-02-27"], "VAR": ["Varian Medical Systems, Inc.", 8.539999961853027, "2016-03-24", "2023-02-27"], "VFC": ["V.F. Corporation", 541.3499755859375, "1980-03-18", "2023-02-27"], "VIAC": ["ViacomCBS Inc.", 15.3100004196167, "1980-03-18", "2023-02-27"], "VLO": ["Valero Energy Corporation", 43.34000015258789, "1980-03-18", "2023-02-27"], "VMC": ["Vulcan Materials Company", 63.5, "1998-06-22", "2023-02-27"], "VNO": ["Vornado Realty Trust", 82.83999633789062, "1995-11-01", "2023-02-27"], "VRSK": ["Verisk Analytics, Inc.", 95.80999755859375, "2010-04-29", "2023-02-27"], "VRSN": ["VeriSign, Inc.", 143.82000732421875, "1995-03-08", "2023-02-27"], "VRTX": ["Vertex Pharmaceuticals Incorporated", 227.5800018310547, "1994-06-08", "2023-02-27"], "VTR": ["Ventas, Inc.", 476.489990234375, "1977-01-04", "2023-02-27"], "VZ": ["Verizon Communications Inc.", 54.52000045776367, "1985-07-23", "2023-02-27"], "WAB": ["Wabtec Corporation", 64.25, "2002-12-12", "2023-02-27"], "WAT": ["Waters Corporation", 262.94000244140625, "1962-01-03", "2023-02-27"], "WBA": ["Walgreens Boots Alliance, Inc.", 304.6400146484375, "2001-01-31", "2023-02-27"], "WDC": ["Western Digital Corporation", 80.88999938964844, "1992-01-23", "2023-02-27"], "WEC": ["WEC Energy Group, Inc.", 199.69000244140625, "1980-03-18", "2023-02-27"], "WELL": ["Welltower Inc.", 40.11000061035156, "1995-07-11", "2023-02-27"], "WFC": ["Wells Fargo & Company", 142.6699981689453, "1995-05-10", "2023-02-27"], "WHR": ["Whirlpool Corporation", 62.06999969482422, "2008-11-12", "2023-02-27"], "WLTW": ["Willis Towers Watson Public Limited Company", 257.0199890136719, "1994-02-23", "2023-02-27"], "WM": ["Waste Management, Inc.", 184.02999877929688, "1983-11-23", "2023-02-27"], "WMB": ["The Williams Companies, Inc.", 436.5299987792969, "1983-08-22", "2023-02-27"], "WMT": ["Walmart Inc.", 178.33999633789062, "1980-03-18", "2023-02-27"], "WRB": ["W. R. Berkley Corporation", 31.350000381469727, "1980-03-18", "2023-02-27"], "WRK": ["WestRock Company", 56.349998474121094, "2002-07-02", "2023-02-27"], "WU": ["The Western Union Company", 77.87999725341797, "1987-09-23", "2023-02-27"], "WY": ["Weyerhaeuser Company", 17.079999923706055, "1980-03-18", "2023-02-27"], "WYNN": ["Wynn Resorts, Limited", 123.20999908447266, "1973-02-22", "2023-02-27"], "XEL": ["Xcel Energy Inc.", 50.38999938964844, "1980-03-18", "2023-02-27"], "XLNX": ["Xilinx, Inc.", 126.56999969482422, "1997-09-18", "2023-02-27"], "XOM": ["Exxon Mobil Corporation", 263.2599792480469, "1966-07-06", "2023-02-27"], "XRAY": ["DENTSPLY SIRONA Inc.", 140.6300048828125, "2001-11-30", "2023-02-27"], "XRX": ["Xerox Holdings Corporation", 71.77999877929688, "2000-04-06", "2023-02-27"], "XYL": ["Xylem Inc.", 127.58000183105469, "2010-06-16", "2023-02-27"], "YUM": ["Yum! Brands, Inc.", 127.36000061035156, "2004-02-06", "2023-02-27"], "ZBH": ["Zimmer Biomet Holdings, Inc.", 88.80999755859375, "1980-03-18", "2023-02-27"], "ZBRA": ["Zebra Technologies Corporation", 32.599998474121094, "2019-03-14", "2023-02-27"], "ZION": ["Zions Bancorporation, National Association", 116.29000091552734, "2011-11-18", "2023-02-27"], "ZTS": ["Zoetis Inc.", 85.29000091552734, "2005-08-12", "2023-02-27"], "BIV": ["Vanguard Intermediate-Term Bond Index Fund ETF Shares", 28.020000457763672, "1982-01-04", "2023-02-27"], "LQD": ["iShares iBoxx $ Investment Grade Corporate Bond ETF", 98.37999725341797, "2000-12-11", "2023-02-27"], "MUB": ["iShares National Muni Bond ETF", 13.119999885559082, "1980-03-18", "2023-02-27"], "TLT": ["iShares 20+ Year Treasury Bond ETF", 64.5199966430664, "2001-06-21", "2023-02-27"], "VB": ["Vanguard Small-Cap Index Fund ETF Shares", 101.02999877929688, "2016-11-11", "2023-02-27"], "VNQ": ["Vanguard Real Estate Index Fund ETF Shares", 78.9800033569336, "2000-07-03", "2023-02-27"], "VOO": ["Vanguard S&P 500 ETF", 16.5, "2013-01-22", "2023-02-27"], "VEA": ["Vanguard FTSE Developed Markets Index Fund ETF Shares", 30.770000457763672, "1980-11-05", "2023-02-27"], "VWO": ["Vanguard FTSE Emerging Markets Index Fund ETF Shares", 97.48999786376953, "2006-10-18", "2023-02-27"], "1101.TW": ["\u53f0\u6ce5", 70.08999633789062, "2001-12-14", "2023-02-27"], "1102.TW": ["\u4e9e\u6ce5", 73.72000122070312, "2019-04-22", "2023-02-27"], "1216.TW": ["\u7d71\u4e00", 64.37000274658203, "1982-01-04", "2023-02-27"], "1301.TW": ["\u53f0\u5851", 67.12999725341797, "1997-02-05", "2023-02-27"], "1303.TW": ["\u5357\u4e9e", 46.540000915527344, "1962-01-03", "2023-02-27"], "1326.TW": ["\u53f0\u5316", 135.0500030517578, "1982-01-05", "2023-02-27"], "1402.TW": ["\u9060\u6771\u65b0", 34.54999923706055, "1987-08-13", "2023-02-27"], "2002.TW": ["\u4e2d\u92fc", 86.0, "2018-07-27", "2023-02-27"], "2105.TW": ["\u6b63\u65b0", 15.630000114440918, "2005-09-28", "2023-02-27"], "2207.TW": ["\u548c\u6cf0\u8eca", 38.81999969482422, "2014-11-03", "2023-02-27"], "2227.TW": ["\u88d5\u65e5\u8eca", 61.96000289916992, "2019-05-28", "2023-02-27"], "2301.TW": ["\u5149\u5bf6\u79d1", 41.83000183105469, "1980-10-16", "2023-02-27"], "2303.TW": ["\u806f\u96fb", 39.310001373291016, "2010-11-19", "2023-02-27"], "2308.TW": ["\u53f0\u9054\u96fb", 482.7099914550781, "1984-05-07", "2023-02-27"], "2317.TW": ["\u9d3b\u6d77", 90.04000091552734, "1980-03-18", "2023-02-27"], "2327.TW": ["\u570b\u5de8", 114.70999908447266, "1986-09-26", "2023-02-27"], "2330.TW": ["\u53f0\u7a4d\u96fb", 76.73999786376953, "1993-10-26", "2023-02-27"], "2352.TW": ["\u4f73\u4e16\u9054", 111.55000305175781, "1986-04-03", "2023-02-27"], "2382.TW": ["\u5ee3\u9054", 302.5899963378906, "1980-06-03", "2023-02-27"], "2395.TW": ["\u7814\u83ef", 28.40999984741211, "1992-05-20", "2023-02-27"], "2408.TW": ["\u5357\u4e9e\u79d1", 193.17999267578125, "1987-06-11", "2023-02-27"], "2412.TW": ["\u4e2d\u83ef\u96fb", 220.35000610351562, "2008-03-20", "2023-02-27"], "2454.TW": ["\u806f\u767c\u79d1", 105.77999877929688, "1984-09-27", "2023-02-27"], "2474.TW": ["\u53ef\u6210", 42.84000015258789, "1988-05-03", "2023-02-27"], "2609.TW": ["\u967d\u660e", 161.22999572753906, "2014-10-21", "2023-02-27"], "2610.TW": ["\u83ef\u822a", 24.329999923706055, "1985-05-24", "2023-02-27"], "2633.TW": ["\u53f0\u7063\u9ad8\u9435", 50.70000076293945, "2006-02-07", "2023-02-27"], "2801.TW": ["\u5f70\u9280", 118.52999877929688, "1980-12-03", "2023-02-27"], "2823.TW": ["\u4e2d\u58fd", 4.329999923706055, "2013-02-27", "2018-01-30"], "2880.TW": ["\u83ef\u5357\u91d1", 53.119998931884766, "1973-02-22", "2023-02-27"], "2881.TW": ["\u5bcc\u90a6\u91d1", 102.55000305175781, "2011-10-14", "2023-02-27"], "2882.TW": ["\u570b\u6cf0\u91d1", 170.74000549316406, "1972-06-02", "2023-02-27"], "2883.TW": ["\u958b\u767c\u91d1", 113.54000091552734, "2001-01-17", "2023-02-27"], "2884.TW": ["\u7389\u5c71\u91d1", 17.450000762939453, "2013-06-20", "2023-02-27"], "2885.TW": ["\u5143\u5927\u91d1", 54.400001525878906, "1982-01-04", "2023-02-27"], "2886.TW": ["\u5146\u8c50\u91d1", 34.310001373291016, "1982-01-04", "2023-02-27"], "2887.TW": ["\u53f0\u65b0\u91d1", 236.88999938964844, "1973-02-22", "2023-02-27"], "2890.TW": ["\u6c38\u8c50\u91d1", 322.32000732421875, "1986-08-14", "2023-02-27"]} \ No newline at end of file diff --git a/main.py b/main.py new file mode 100644 index 0000000..13bd10a --- /dev/null +++ b/main.py @@ -0,0 +1,387 @@ +from flask import Flask, render_template, request, redirect, url_for, g, session, flash, jsonify +# from flask_login import LoginManager, UserMixin, login_user, logout_user, login_required, current_user +from markupsafe import escape + +from werkzeug.security import generate_password_hash, check_password_hash +from datetime import datetime, date, timedelta + + +import os +import json +import time +import random +import string +import numpy as np +import pandas as pd +import psycopg2 +import plotly +import plotly.express as px +from portfolio_builder import MVO +pd.options.plotting.backend = "plotly" + +# PARAMETERS +CONFIGS = { + "ENV": "development", + "DEBUG": True, + "SECRET_KEY": os.urandom(30), # Set the secret key for session authentication + "PERMANENT_SESSION_LIFETIME": timedelta(minutes=60) +} +SQL_CONFIG = { + 'database': "tpm", + 'user': "hsienchen", + 'host': "127.0.0.1", + 'port': "5432" +} + + +app = Flask(__name__) +app.config.from_mapping(CONFIGS) +# Login Manager, Flask_Login Stuff +# login_manager = LoginManager() +# login_manager.init_app(app) +# login_manager.login_view = 'login' +def login_required(): + if not 'username' in session: + return False + else: + return True +def get_stock(conn, stock_list, tw): + ## Query DB + if tw==1: + sql="SELECT ticker, date, price, return FROM stock_price_tw where ticker = ANY(%s);" + with conn: + with conn.cursor() as curs: + curs.execute(sql, (stock_list, )) + # print(curs.mogrify(sql, (stock_list,))) + data= curs.fetchall() + else: + sql1="SELECT ticker, date, price, return FROM stock_price where ticker = ANY(%s)" + sql2="SELECT ticker, date, price, return FROM stock_price_tw where ticker = ANY(%s) ;" + with conn: + with conn.cursor() as curs: + curs.execute(sql1, (stock_list,)) + data_us= curs.fetchall() + curs.execute(sql2, (stock_list,)) + data_tw= curs.fetchall() + data = data_us+data_tw + dfStock = pd.DataFrame(data, columns=['ticker', 'date', 'price', 'return']) + dfStock['date'] = pd.to_datetime(dfStock['date']) + dfStock = dfStock.drop_duplicates() + g = dfStock.groupby('ticker') + port = pd.concat([g.get_group(t).set_index('date')['price'] for t in stock_list], axis=1, join='inner') + port.columns=stock_list + return port + + +# Define the route for the index pages +@app.route('/') +def index(): + return render_template('base.html') + +# Login Page +@app.route('/login') +def login(): + # for key in session: + # print(key, session[key]) + # print(session.get('username'), session['username'], session.get('username') and session['username']) + return render_template('login.html') +@app.route('/login', methods=['POST']) +def login_post(): + # Get the username and password from the form + username = request.form.get('username') + password = request.form.get('password') + print(username, password) + + + ## Connect to the database + conn = psycopg2.connect(**SQL_CONFIG) + with conn: + with conn.cursor() as curs: + curs.execute("select * from users where username = %s;", (username, )) + data = curs.fetchone() + conn.close() + + # Authentication + if (data is None) or (username is None) or (password is None): + flash('使用者代號不對或密碼不對,請再試一次。', 'danger') + return render_template('login.html') + elif check_password_hash(data[2], password): + session['username'] = username + session['user_id'] = data[0] + session['privilege'] = data[-1] + session['update_freq'] = 100 + session['lastCreateTime'] = time.time() + session['tw'] = 1 + return redirect(url_for('index')) + else: + flash('使用者代號不對或密碼不對,請再試一次。', 'danger') + return render_template('login.html') + +# Registration Page +@app.route('/registration') +def registration(): + if login_required(): + return redirect(url_for('index')) + return render_template('registration.html') +@app.route('/registration', methods=['POST']) +def registration_post(): + # Get the username and password from the form + username = request.form.get('username') + password = request.form.get('password') + rep_password = request.form.get('rep-password') + # check password + if not password is None and password == rep_password: + print(username, password) + conn = psycopg2.connect(**SQL_CONFIG) + ## Connect to the database + with conn.cursor() as curs: + curs.execute("select * from users where username = %s;", (username, )) + data = curs.fetchone() + if data is None: + with conn: + with conn.cursor() as curs: + curs.execute("insert into users (username, password) values (%s, %s);", (username, generate_password_hash(password))) + # conn.commit() + else: + flash('使用者已存在。', 'warning') + return redirect(url_for('login')) + conn.close() + name = username.split('@')[0] + flash(f'註冊成功! 歡迎您, {name}。', 'success') + return redirect(url_for('login')) + else: + flash('密碼不符合,請再次輸入。', 'warning') + return redirect(url_for('registration')) + +# Logout Page +@app.route('/logout', methods=['GET']) +def logout(): + if login_required(): + pass + else: + flash('請先登入。', 'warning') + return redirect(url_for('login')) + if 'username' in session: + # for key in list(session.keys()): + # print(key, session[key]) + # for key in list(session.keys()): + # session.pop(key) + session.clear() + return redirect(url_for('index')) + + + +@app.route('/strategy') +def strategy(): + if login_required(): + pass + else: + flash('使用投組功能請先登入。', 'warning') + return redirect(url_for('login')) + session['tw'] = 0 + # Load Assets + with open('assets_tw.json') as f: + data_tw = json.load(f) + with open('assets_us.json') as f: + data = json.load(f) + + print(request.args.get('data'), 666) + return render_template('strategy_tw.html', stockOpts={**data, **data_tw}) + + + + +@app.route('/strategy_tw') +def strategy_tw(): + if login_required(): + pass + else: + flash('使用投組功能請先登入。', 'warning') + return redirect(url_for('login')) + session['tw'] = 1 + # Load Assets + with open('assets_tw.json') as f: + data = json.load(f) + + print(request.args.get('data'), 666) + return render_template('strategy_tw.html', stockOpts=data) + + + + + +@app.route('/postStock', methods=['POST']) +def submit_stock_list(): + if login_required(): + pass + else: + print('NOT LOGIN!!') + return redirect(url_for('index')) + if not 'tw' in session: + return redirect(url_for('index')) + # Update Session + print("-"*10, "UPDATE ASSET", "-"*10) + if session['update_freq']==0: + print('update to frquent!') + return 'update to frquent!' + else: + session['update_freq']-=1 + flash('Looks like you have changed your name!', 'warning') + stock_list = request.form.get('stockList') # this is string + stock_list = json.loads(stock_list) # Load stock_list as list + session['currStockList'] = stock_list + + ## Query DB + conn = psycopg2.connect(**SQL_CONFIG) + port = get_stock(conn, stock_list, session['tw']) + conn.close() + + fig = port.plot(title = 'Assets in portfolio', + labels=dict(index="Date", value="Price", variable="Assets")) + fig['layout'] = dict( + autosize=True, + legend={'title': {'text': 'Assets'}, 'tracegroupgap': 0}, + title= {'text': 'Assets in portfolio'}, + xaxis= {'anchor': 'y', 'domain': [0.0, 1.0], 'title': {'text': 'Date'}}, + yaxis= {'anchor': 'x', 'domain': [0.0, 1.0], 'title': {'text': 'Price'}} + ) + fig.update_layout(legend=dict( + yanchor="top", + y=0.99, + xanchor="left", + x=0.01 + )) + + print(type(stock_list)) + + # 序列化 + graphJSON = json.dumps(fig, cls=plotly.utils.PlotlyJSONEncoder) + + + for key in request.form: + print(key, request.form[key]) + # Do something with the stock list heres + return graphJSON + # return jsonify({'message': 'Stock list received successfully, NOOOOO'}) + +@app.route('/postPort', methods=['POST']) +def buildPort(): + # Login Required + if login_required(): + pass + else: + print('NOT LOGIN!!') + return redirect(url_for('index')) + if not 'tw' in session: + return redirect(url_for('index')) + # Stop frequently building strategy + if time.time() - session['lastCreateTime'] < 20: + print("UNTIL: ", time.time()-session['lastCreateTime']) + return jsonify({'mes': '投資組合建立時間間隔(或與登入時間間隔)必須大於60秒!'}) + session['lastCreateTime'] = time.time() + + + print("-"*10) + for key in request.form: + print(key, request.form[key], type(request.form[key])) + + # Portfolio Info + name = request.form.get('name') + if name == '': + prefix=''.join(random.choices(string.ascii_uppercase + string.digits, k=6)) + name= prefix + f"-{round(time.time()%100, 2)}" + comp = request.form.get('comp') + ts = int(request.form.get('ts')) + ts = datetime.fromtimestamp(ts/1000) + role = request.form.get('role') + ratio = float(request.form.get('ratio')) + comment = request.form.get('comment') + stock_list = json.loads(request.form.get('stockList')) + + # Algorithm MVO + print("-"*10) + print("Enter Algorithms") + print("-"*10) + # time.sleep(20) + # Query DB + market_asset = '0050.TW' if session['tw']==1 else 'SPY' + conn = psycopg2.connect(**SQL_CONFIG) + if 'market_asset' in stock_list: + port = get_stock(conn, stock_list, session['tw']) + market = port[market_asset] + else: + port = get_stock(conn, stock_list+[market_asset], session['tw']) + market = port[market_asset] + port = port[stock_list] + + length, num = port.shape + tsize = int(length*ratio) + # time label + train_label = port.index[1:][:tsize] + test_label = port.index[1:][tsize:] + + # data + data_return = port.pct_change().dropna().to_numpy() + market_return = market.pct_change().dropna().to_numpy() + train = data_return[:tsize, :] + test = data_return[tsize:, :] + train_market = market_return[:tsize] + test_market = market_return[tsize:] + + # optimization + sol = MVO.opt(train, role=role) + train_info = MVO.portfolio_info(sol, train, train_market) + test_info = MVO.portfolio_info(sol, test, test_market) + # print(sol, train_info, test_info) + print("-"*10) + print(ts, name, session.get('username'), comp, + role, test_info['annual_ret'], test_info['vol'], test_info['mdd'], test_info['annual_sr'], + test_info['beta'], test_info['alpha'], test_info['var10'], test_info['R2'], True, comment, stock_list, list(sol), sep=", ") + print("-"*10) + data = (ts, name, session.get('username'), comp, + role, ratio, test_info['annual_ret'], test_info['vol'], test_info['mdd'], test_info['annual_sr'], + test_info['beta'], test_info['alpha'], test_info['var10'], test_info['R2'], True, comment, stock_list, list(sol)) + sql='insert into strategy \ + (date, name, username, competition, role, ratio, annual_ret, vol, mdd, annual_sr, beta, alpha, var10, R2, tw, comment, assets, assets_position)\ + values (%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s);' + with conn: + with conn.cursor() as curs: + curs.execute(sql, data) + conn.close() + print("\n------Write in Success--------\n") + return jsonify({'mes': '投資組合已完成建立,請至gooooooo查詢分析結果。'}) + +@app.route('/custom') +def custom(): + if login_required(): + pass + else: + flash('使用投組功能請先登入。', 'warning') + return redirect(url_for('login')) + return render_template('custom.html', message='No') +@app.route('/result') +def result(): + if login_required(): + pass + else: + flash('使用投組功能請先登入。', 'warning') + return redirect(url_for('login')) + return render_template('result.html') +@app.route('/result_tw') +def result_tw(): + if login_required(): + pass + else: + flash('使用投組功能請先登入。', 'warning') + return redirect(url_for('login')) + return render_template('result_tw.html') + +# handle login failed +@app.errorhandler(401) +def page_not_found(e): + return Response('

Failed

') + + + +if __name__ == "__main__": + app.run(host='0.0.0.0', port=8000) diff --git a/main_old.py b/main_old.py new file mode 100644 index 0000000..709c0da --- /dev/null +++ b/main_old.py @@ -0,0 +1,1347 @@ +# -*- coding: utf-8 -*- + +from flask import Flask, Blueprint, render_template, session, jsonify, request, redirect, url_for, flash, g, Markup, abort +# from flask_ipban import IpBan +from flask_login import login_required, current_user, login_user, logout_user +#from flask_environments import Environments +import sqlite3 +from werkzeug.security import generate_password_hash, check_password_hash +from datetime import datetime, timedelta +from dateutil.relativedelta import relativedelta +import os +import pytz +import re +import time +import json +import psycopg2 +import psycopg2.extras +from tickers_sorted import * +from tickers_sorted_tw import * +from black_list import black_list +from postgresql_config import * + +import numpy as np +import pandas as pd +import matplotlib.pyplot as plt + +import math +from cvxopt import matrix, solvers +from cvxopt.blas import dot +from cvxopt.solvers import qp + +import pickle + +UPLOAD_FOLDER = 'static/custom_data/' +ALLOWED_EXTENSIONS = {'csv'} +def allowed_file(filename): + return '.' in filename and \ + filename.rsplit('.', 1)[1].lower() in ALLOWED_EXTENSIONS + +main = Flask(__name__) + +# https://stackoverflow.com/questions/24222220/block-an-ip-address-from-accessing-my-flask-app-on-heroku +ip_ban_list = [] +@main.before_request +def block_method(): + ip = request.environ.get('REMOTE_ADDR') + if ip in ip_ban_list: + abort(403) + +main.config['SECRET_KEY'] = os.urandom(30) +main.config['UPLOAD_FOLDER'] = UPLOAD_FOLDER + +from confidential_competitions import * +confidential_competitions_placeholder = ', '.join(['%s']*len(confidential_competitions_list)) + +# Source: https://uniwebsidad.com/libros/explore-flask/chapter-8/custom-filters +@main.template_filter('my_substitution') +def my_substitution(string): + return re.sub(r'@[a-zA-Z0-9_\-\.]+', r'', string) + +def ten_day_VaR(portfolio_value): + # 95% z value = 1.645 + z = 1.645 + return_value = portfolio_value.pct_change().shift(-1).dropna() + length = len(return_value) + daily_ret = return_value.mean() + daily_vol = return_value.std() + return -1*(daily_ret * 10 - daily_vol * (10**0.5) * z) + +# risk_free_rate = 0.00899 # U.S. 5 Year Treasury at 11:31 PM EDT, Jun 28, 2021 +risk_free_rate = 0 +def Linear_Reg(x,y): + ''' + input + x: market excess return, np.ndarray + y: portfolio excexx return, np.ndarray + + output + slope, intercept, R^2 + ''' + from sklearn import linear_model + import numpy + model = linear_model.LinearRegression(fit_intercept=True) + X = x[:,numpy.newaxis] + model.fit(X,y) + yhat = model.predict(X) + SSR = sum((y-yhat)**2) + SST = sum((y-numpy.mean(y))**2) + r_squared = 1 - (float(SSR))/SST + return model.coef_[0], model.intercept_, r_squared + # alpha = model.intercept_, beta = model.coef_[0] + +#env.filters['my_substitution'] = my_substitution + + + + +# def connect_db(): +# sql = sqlite3.connect('strategy.db', timeout=50) +# sql.row_factory = sqlite3.Row +# return sql +# +# def get_db(): +# if not hasattr(g, 'sqlite_db'): +# g.sqlite_db = connect_db() +# return g.sqlite_db +# +# @main.teardown_appcontext +# def close_db(error): +# if hasattr(g, 'sqlite_db'): +# g.sqlite_conn.close() + + +@main.route('/') +def index(): + + conn = psycopg2.connect(database=POSTGRESQL_DATABASE, user=POSTGRESQL_USER) + cur = conn.cursor(cursor_factory = psycopg2.extras.DictCursor) + + # Number of effective users + cur.execute('select count(b.a) as num_effective_users from (select min(strategy_id) as a from strategy group by author) as b') + num_effective_users = cur.fetchone()['num_effective_users'] + + # Number of effective strategies + cur.execute('select count(strategy_id) as num_effective_strategies from strategy where sharpe_ratio!=0') + num_effective_strategies = cur.fetchone()['num_effective_strategies'] + + cur.close() + conn.close() + + return render_template('index.html', num_effective_users=num_effective_users, num_effective_strategies=num_effective_strategies) + # return render_template('index_temp_0314.html') + + + + +@main.route('/create_strategy', methods=['GET', 'POST']) +def create_strategy(): + if not (session.get('USERNAME') and session['USERNAME']): + flash('使用此功能必須先登入。', 'danger') + return redirect('/login') + if session['USERNAME'] in black_list: + flash('我們已經暫停您建立策略的權利,有疑問請洽finteck@my.nthu.edu.tw', 'danger') + return redirect('/') + print('last_creation_time: ', session['last_creation_time']) + if time.time() - session['last_creation_time'] < 30: + flash('每兩次建立策略須間隔30秒', 'danger') + return redirect('/') + + if request.method == 'GET': + tw = request.values.get('tw') + tw_digit = 1 if tw=='true' else 0 if tw=='false' else None + + if request.method == 'POST': + strategy_name = request.form['strategy_name'] + create_date = datetime.strftime(datetime.now() + timedelta(hours=8), '%Y/%m/%d %H:%M:%S.%f') + session['last_creation_time'] = time.time() + + if strategy_name == '': + flash('請取一個名字', 'danger') + return render_template('create_strategy.html', asset_candidates=asset_candidates if tw=='false' else asset_candidates_tw if tw=='true' else None, tw=tw) + competition = request.form['competition'] + tw = request.form['tw'] + tw_digit = 1 if tw=='true' else 0 if tw=='false' else None + tickers = sorted(list(set(request.form.getlist('asset_ticker')))) + print('The list of assets: ', tickers) + + + # Turn off progress printing + solvers.options['show_progress'] = False + + start_dates = [ datetime(y, m, 1) for y in range(2015, datetime.now().year+1) + for m in [1, 4, 7, 10] + if datetime(y, m, 1)=start) & (all_data['Date']<=end) ] + data.set_index('Date', inplace=True) + data = data['Adj Close'] + return data + + + portfolio_value = pd.Series([100]) + optimal_weights = None + hist_return_series = pd.DataFrame(columns=['quarter', 'quarterly_returns']) + + index_returns_full = pd.Series() + portfolio_returns_full = pd.Series() + + for i in range(len(start_dates)-3): + + ### Take 6 months to backtest ### + + start = start_dates[i] + end = start_dates[i+2] + + data = pd.DataFrame({ ticker: stockpri(ticker, start, end) for ticker in tickers }) + data = data.dropna() + + returns = data.pct_change() + 1 + returns = returns.dropna() + log_returns = np.log(data.pct_change() + 1) + log_returns = log_returns.dropna() + + if log_returns.empty: + continue + + mu = np.exp(log_returns.mean()*252).values + # Markowitz frontier + profit = np.linspace(np.amin(mu), np.amax(mu), 100) + frontier = [] + w = [] + if len(tickers) >= 3: + for p in profit: + # Problem data. + n = len(tickers) + S = matrix(log_returns.cov().values*252) + pbar = matrix(0.0, (n,1)) + # Gx <= h + G = matrix(0.0, (2*n,n)) + G[::(2*n+1)] = 1.0 + G[n::(2*n+1)] = -1.0 + # h = matrix(1.0, (2*n,1)) + h = matrix(np.concatenate((0.5*np.ones((n,1)), -0.03*np.ones((n,1))), axis=0)) + A = matrix(np.concatenate((np.ones((1,n)), mu.reshape((1,n))), axis=0)) + b = matrix([1, p], (2, 1)) + + # Compute trade-off. + res = qp(S, -pbar, G, h, A, b) + + if res['status'] == 'optimal': + res_weight = res['x'] + s = math.sqrt(dot(res_weight, S*res_weight)) + frontier.append(np.array([p, s])) + w.append(res_weight) + elif len(tickers) == 2: + for p in profit: + S = log_returns.cov().values*252 + res_weight = [1 - (p-mu[0])/(mu[1]-mu[0]), (p-mu[0])/(mu[1]-mu[0])] + if (res_weight[0] < 0.03) or (res_weight[0] > 0.97): + continue + s = math.sqrt(np.matmul(res_weight, np.matmul(S, np.transpose(res_weight)))) + frontier.append(np.array([p, s])) + w.append(res_weight) + elif len(tickers) == 1: + res_weight = [1] + w.append(res_weight) + frontier.append(np.array([1, 1])) + + + frontier = np.array(frontier) + if frontier.shape == (0,): + continue + x = np.array(frontier[:, 0]) + y = np.array(frontier[:, 1]) + + frontier_sharpe_ratios = np.divide(x-1, y) + optimal_portfolio_index = np.argmax(frontier_sharpe_ratios) + optimal_weights = w[optimal_portfolio_index] + + + ### paper trade on the next three months ### + + start = start_dates[i+2] + end = start_dates[i+3] + + if tw=='true': + index_ticker = '0050.TW' + elif tw=='false': + index_ticker = 'SPY' + + data = pd.DataFrame({ ticker: stockpri(ticker, start, end) for ticker in tickers }) + data['market'] = stockpri(index_ticker, start, end) + data = data.dropna() + + returns = data.pct_change() + 1 + returns = returns.dropna() + log_returns = np.log(data.pct_change() + 1) + log_returns = log_returns.dropna() + + index_returns_3_months = returns['market'] + data = data.drop(columns=['market']) + returns = returns.drop(columns=['market']) + log_returns = log_returns.drop(columns=['market']) + portfolio_returns_3_months = pd.Series(np.dot(returns, optimal_weights).flatten()) + + index_returns_full = index_returns_full.append(index_returns_3_months, ignore_index=True) + portfolio_returns_full = portfolio_returns_full.append(portfolio_returns_3_months, ignore_index=True) + + portfolio_cum_returns = np.dot(returns, optimal_weights).cumprod() + portfolio_value_new_window = portfolio_value.iloc[-1].item() * pd.Series(portfolio_cum_returns) + portfolio_value_new_window.index = pd.to_datetime(returns.index, format='%Y-%m-%d') + portfolio_value = portfolio_value.append(portfolio_value_new_window) + + # produce quarterly return + hist_return_series.loc[len(hist_return_series)] = [str(start.year)+'Q'+str((start.month+2)//3), portfolio_cum_returns[-1]-1] + + if optimal_weights == None: + sharpe_ratio = avg_annual_return = annual_volatility = max_drawdown = alpha = beta = r_squared = ten_day_var = 0 + optimal_weights = [0, ]*len(tickers) + hist_returns = None + conn = psycopg2.connect(database=POSTGRESQL_DATABASE, user=POSTGRESQL_USER) + cur = conn.cursor(cursor_factory = psycopg2.extras.DictCursor) + cur.execute("""insert into strategy (strategy_name, + author, + create_date, + sharpe_ratio, + return, + volatility, + max_drawdown, + tw, + competition, + hist_returns, + alpha, + beta, + r_squared, + ten_day_var) + values (%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s) returning strategy_id;""", + (strategy_name, + session['USERNAME'], + create_date, + sharpe_ratio, + avg_annual_return, + annual_volatility, + max_drawdown, + tw_digit, + competition, + hist_returns, + alpha, + beta, + r_squared, + ten_day_var + ) ) + strategy_id = cur.fetchone()[0] + conn.commit() + + # record the list of tickers into database + # strategy_id = cur.execute('select * from strategy where create_date=?', [create_date]).fetchone()['strategy_id'] + for i in range(len(tickers)): + cur.execute('insert into assets_in_strategy (strategy_id, asset_ticker, weight) values (%s, %s, %s)', + (strategy_id, tickers[i], optimal_weights[i])) + conn.commit() + + cur.close() + conn.close() + + print('Strategy_id ' + str(strategy_id) + ' optimization fails.') + flash('無資料或無法畫出馬可維茲邊界,請換一個組合', 'danger') + return render_template('create_strategy.html', asset_candidates=asset_candidates if tw=='false' else asset_candidates_tw if tw=='true' else None, tw=tw) + + avg_annual_return = np.exp(np.log(portfolio_value.pct_change() + 1).mean() * 252) - 1 + annual_volatility = portfolio_value.pct_change().std() * math.sqrt(252) + sharpe_ratio = avg_annual_return/annual_volatility + max_drawdown = - np.amin(np.divide(portfolio_value, np.maximum.accumulate(portfolio_value)) - 1) + ten_day_var = ten_day_VaR(portfolio_value) + beta, alpha, r_squared = Linear_Reg(index_returns_full.to_numpy().flatten() - risk_free_rate, + portfolio_returns_full.to_numpy().flatten() - risk_free_rate) + + print('Sharpe ratio: ', sharpe_ratio, ', Return: ', avg_annual_return, ', Volatility: ', annual_volatility, ', Maximum Drawdown: ', max_drawdown) + + # hist_return_series.set_index('quarter', inplace=True) + hist_returns = pickle.dumps(hist_return_series) + + conn = psycopg2.connect(database=POSTGRESQL_DATABASE, user=POSTGRESQL_USER) + cur = conn.cursor(cursor_factory = psycopg2.extras.DictCursor) + cur.execute("""insert into strategy (strategy_name, + author, + create_date, + sharpe_ratio, + return, + volatility, + max_drawdown, + tw, + competition, + hist_returns, + alpha, + beta, + r_squared, + ten_day_var) + values (%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s) returning strategy_id;""", + (strategy_name, + session['USERNAME'], + create_date, + sharpe_ratio, + avg_annual_return, + annual_volatility, + max_drawdown, + tw_digit, + competition, + hist_returns, + alpha, + beta, + r_squared, + ten_day_var + ) ) + strategy_id = cur.fetchone()[0] + conn.commit() + + # record the list of tickers into database + # strategy_id = cur.execute('select * from strategy where create_date=?', [create_date]).fetchone()['strategy_id'] + for i in range(len(tickers)): + cur.execute('insert into assets_in_strategy (strategy_id, asset_ticker, weight) values (%s, %s, %s)', + (strategy_id, tickers[i], optimal_weights[i])) + conn.commit() + + cur.close() + conn.close() + + # fig, ax = plt.subplots() + # hist_return_series.hist(column='quarterly_returns', by='quarter', ax=ax) + hist_return_plot = hist_return_series.plot.bar(x='quarter', y='quarterly_returns').get_figure() + plt.tight_layout() + # plt.xticks(rotation=45) + hist_return_plot.savefig('static/img/quarterly_returns/'+str(strategy_id)+'.png') + plt.close() + + print(portfolio_value.head()) + print(portfolio_value.tail()) + plt.xticks(rotation=90) + # plt.tight_layout() + plt.plot(portfolio_value.iloc[1:]) + plt.savefig('static/img/portfolio_values/'+str(strategy_id)+'.png', bbox_inches='tight') + plt.close() + print('Strategy_id ' + str(strategy_id) + ' optimization succeeds.') + flash(Markup('回測已完成,詳情請點這裡查看。'), 'success') + return render_template('create_strategy.html', asset_candidates=asset_candidates if tw=='false' else asset_candidates_tw if tw=='true' else None, tw=tw) + + +@main.route('/create_strategy_upload', methods=['GET', 'POST']) +def create_strategy_upload(): + if not (session.get('USERNAME') and session['USERNAME']): + flash('使用此功能必須先登入。', 'danger') + return redirect('/login') + if session['USERNAME'] in black_list: + flash('我們已經暫停您建立策略的權利,有疑問請洽finteck@my.nthu.edu.tw', 'danger') + return redirect('/') + print('last_creation_time: ', session['last_creation_time']) + if time.time() - session['last_creation_time'] < 30: + flash('每兩次建立策略須間隔30秒', 'danger') + return redirect('/') + + if request.method == 'POST': + strategy_name = request.form['strategy_name'] + create_date = datetime.strftime(datetime.now() + timedelta(hours=8), '%Y/%m/%d %H:%M:%S.%f') + session['last_creation_time'] = time.time() + + if strategy_name == '': + flash('請取一個名字', 'danger') + return render_template('create_strategy_upload.html') + + f = request.files['fileToUpload'] + filename = create_date.replace('/', '').replace(' ', '').replace(':', '').replace('.', '') + '.csv' + f.save(os.path.join(main.config['UPLOAD_FOLDER'], filename)) + + all_data = pd.read_csv(main.config['UPLOAD_FOLDER'] + filename) + all_data['Date'] = pd.to_datetime(all_data['Date'], format='%Y-%m-%d') + + tickers = list(all_data.columns) + tickers.remove('Date') + print('The list of assets: ', tickers) + + competition = request.form['competition'] + + + # Turn off progress printing + solvers.options['show_progress'] = False + + + def stockpri(ticker, start, end): + data = all_data.loc[start:end, ['Date', ticker]] + data.set_index('Date', inplace=True) + data = data[ticker] + return data + + + portfolio_value = pd.Series([100]) + optimal_weights = None + hist_return_series = pd.DataFrame(columns=['quarter', 'quarterly_returns']) + + start_dates = list(np.arange(0, len(all_data), 63)) + [len(all_data)-1] + + + for i in range(len(start_dates)-3): + + ### Take 6 months to backtest ### + + start = start_dates[i] + end = start_dates[i+2]+1 + + data = pd.DataFrame({ ticker: stockpri(ticker, start, end) for ticker in tickers }) + data = data.dropna() + + returns = data.pct_change() + 1 + returns = returns.dropna() + log_returns = np.log(data.pct_change() + 1) + log_returns = log_returns.dropna() + + if log_returns.empty: + continue + + mu = np.exp(log_returns.mean()*252).values + # Markowitz frontier + profit = np.linspace(np.amin(mu), np.amax(mu), 100) + frontier = [] + w = [] + if len(tickers) >= 3: + for p in profit: + # Problem data. + n = len(tickers) + S = matrix(log_returns.cov().values*252) + pbar = matrix(0.0, (n,1)) + # Gx <= h + G = matrix(0.0, (2*n,n)) + G[::(2*n+1)] = 1.0 + G[n::(2*n+1)] = -1.0 + # h = matrix(1.0, (2*n,1)) + h = matrix(np.concatenate((0.5*np.ones((n,1)), -0.03*np.ones((n,1))), axis=0)) + A = matrix(np.concatenate((np.ones((1,n)), mu.reshape((1,n))), axis=0)) + b = matrix([1, p], (2, 1)) + + # Compute trade-off. + res = qp(S, -pbar, G, h, A, b) + + if res['status'] == 'optimal': + res_weight = res['x'] + s = math.sqrt(dot(res_weight, S*res_weight)) + frontier.append(np.array([p, s])) + w.append(res_weight) + elif len(tickers) == 2: + for p in profit: + S = log_returns.cov().values*252 + res_weight = [1 - (p-mu[0])/(mu[1]-mu[0]), (p-mu[0])/(mu[1]-mu[0])] + if (res_weight[0] < 0.03) or (res_weight[0] > 0.97): + continue + s = math.sqrt(np.matmul(res_weight, np.matmul(S, np.transpose(res_weight)))) + frontier.append(np.array([p, s])) + w.append(res_weight) + + + frontier = np.array(frontier) + if frontier.shape == (0,): + continue + x = np.array(frontier[:, 0]) + y = np.array(frontier[:, 1]) + + frontier_sharpe_ratios = np.divide(x-1, y) + optimal_portfolio_index = np.argmax(frontier_sharpe_ratios) + optimal_weights = w[optimal_portfolio_index] + + + ### paper trade on the next three months ### + + start = start_dates[i+2] + end = start_dates[i+3]+1 + + data = pd.DataFrame({ ticker: stockpri(ticker, start, end) for ticker in tickers }) + data = data.dropna() + + returns = data.pct_change() + 1 + returns = returns.dropna() + log_returns = np.log(data.pct_change() + 1) + log_returns = log_returns.dropna() + + + portfolio_cum_returns = np.dot(returns, optimal_weights).cumprod() + portfolio_value_new_window = portfolio_value.iloc[-1].item() * pd.Series(portfolio_cum_returns) + portfolio_value_new_window.index = pd.to_datetime(returns.index, format='%Y-%m-%d') + portfolio_value = portfolio_value.append(portfolio_value_new_window) + # portfolio_value.append(portfolio_value_new_window) + + # produce quarterly return + hist_return_series.loc[len(hist_return_series)] = [str(start), portfolio_cum_returns[-1]-1] + + + if len(tickers) == 1: + optimal_weights = [1] + portfolio_value = stockpri(tickers[0], 0, len(all_data)) + for i in range(len(start_dates)-1): + hist_return_series.loc[i] = [ str(start_dates[i]), portfolio_value[start_dates[i+1]] - portfolio_value[start_dates[i]] ] + + if optimal_weights == None: + sharpe_ratio = avg_annual_return = annual_volatility = max_drawdown = ten_day_var = 0 + optimal_weights = [0, ]*len(tickers) + hist_returns = None + conn = psycopg2.connect(database=POSTGRESQL_DATABASE, user=POSTGRESQL_USER) + cur = conn.cursor(cursor_factory = psycopg2.extras.DictCursor) + cur.execute("""insert into strategy (strategy_name, + author, + create_date, + sharpe_ratio, + return, + volatility, + max_drawdown, + tw, + competition, + hist_returns, + alpha, + beta, + r_squared, + ten_day_var) + values (%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s) returning strategy_id;""", + (strategy_name, + session['USERNAME'], + create_date, + sharpe_ratio, + avg_annual_return, + annual_volatility, + max_drawdown, + 0, # tw_digit, + competition, + hist_returns, + 0, # alpha, + 0, # beta, + 0, # r_squared, + ten_day_var + ) ) + strategy_id = cur.fetchone()[0] + conn.commit() + + # record the list of tickers into database + # strategy_id = cur.execute('select * from strategy where create_date=?', [create_date]).fetchone()['strategy_id'] + for i in range(len(tickers)): + cur.execute('insert into assets_in_strategy (strategy_id, asset_ticker, weight) values (%s, %s, %s)', + (strategy_id, tickers[i], optimal_weights[i])) + conn.commit() + + cur.close() + conn.close() + print('Strategy_id ' + str(strategy_id) + ' optimization fails.') + flash('無資料或無法畫出馬可維茲邊界,請換一個組合', 'danger') + return render_template('create_strategy_upload.html') + + avg_annual_return = np.exp(np.log(portfolio_value.pct_change() + 1).mean() * 252) - 1 + annual_volatility = portfolio_value.pct_change().std() * math.sqrt(252) + sharpe_ratio = avg_annual_return/annual_volatility + max_drawdown = - np.amin(np.divide(portfolio_value, np.maximum.accumulate(portfolio_value)) - 1) + ten_day_var = ten_day_VaR(portfolio_value) + + print('Sharpe ratio: ', sharpe_ratio, ', Return: ', avg_annual_return, ', Volatility: ', annual_volatility, ', Maximum Drawdown: ', max_drawdown) + + # hist_return_series.set_index('quarter', inplace=True) + hist_returns = pickle.dumps(hist_return_series) + + conn = psycopg2.connect(database=POSTGRESQL_DATABASE, user=POSTGRESQL_USER) + cur = conn.cursor(cursor_factory = psycopg2.extras.DictCursor) + cur.execute("""insert into strategy (strategy_name, + author, + create_date, + sharpe_ratio, + return, + volatility, + max_drawdown, + tw, + competition, + hist_returns, + alpha, + beta, + r_squared, + ten_day_var) values (%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s) returning strategy_id;""", + (strategy_name, + session['USERNAME'], + create_date, + sharpe_ratio, + avg_annual_return, + annual_volatility, + max_drawdown, + 0, # tw_digit, + competition, + hist_returns, + 0, # alpha, + 0, # beta, + 0, # r_squared, + ten_day_var + ) ) + strategy_id = cur.fetchone()[0] + conn.commit() + + # record the list of tickers into database + # strategy_id = cur.execute('select * from strategy where create_date=%s', (create_date,)).fetchone()['strategy_id'] + for i in range(len(tickers)): + cur.execute('insert into assets_in_strategy (strategy_id, asset_ticker, weight) values (%s, %s, %s)', + (strategy_id, tickers[i], optimal_weights[i])) + conn.commit() + + cur.close() + conn.close() + + # fig, ax = plt.subplots() + # hist_return_series.hist(column='quarterly_returns', by='quarter', ax=ax) + hist_return_plot = hist_return_series.plot.bar(x='quarter', y='quarterly_returns').get_figure() + plt.tight_layout() + hist_return_plot.savefig('static/img/quarterly_returns/'+str(strategy_id)+'.png') + plt.close() + + print(portfolio_value.head()) + print(portfolio_value.tail()) + plt.xticks(rotation=90) + # plt.tight_layout() + plt.plot(portfolio_value.iloc[1:]) + plt.savefig('static/img/portfolio_values/'+str(strategy_id)+'.png', bbox_inches='tight') + plt.close() + print('Strategy_id ' + str(strategy_id) + ' optimization succeeds.') + flash(Markup('回測已完成,詳情請點這裡查看。'), 'success') + return render_template('create_strategy_upload.html') + + + +@main.route('/create_strategy_topic', methods=['GET', 'POST']) +def create_strategy_topic(): + if not (session.get('USERNAME') and session['USERNAME']): + flash('使用此功能必須先登入。', 'danger') + return redirect('/login') + if session['USERNAME'] in black_list: + flash('我們已經暫停您建立策略的權利,有疑問請洽finteck@my.nthu.edu.tw', 'danger') + return redirect('/') + print('last_creation_time: ', session['last_creation_time']) + if time.time() - session['last_creation_time'] < 30: + flash('每兩次建立策略須間隔30秒', 'danger') + return redirect('/') + + if request.method == 'POST': + strategy_name = request.form['strategy_name'] + create_date = datetime.strftime(datetime.now() + timedelta(hours=8), '%Y/%m/%d %H:%M:%S.%f') + session['last_creation_time'] = time.time() + + if strategy_name == '': + flash('請取一個名字', 'danger') + conn = psycopg2.connect(database=POSTGRESQL_DATABASE, user=POSTGRESQL_USER) + cur = conn.cursor(cursor_factory = psycopg2.extras.DictCursor) + cur.execute("""select * from strategy where competition='topic' order by strategy_id desc""") + sql_results = cur.fetchall() + cur.close() + conn.close() + return render_template('create_strategy_topic.html', topic_results=sql_results) + + f = request.files['fileToUpload'] + filename = create_date.replace('/', '').replace(' ', '').replace(':', '').replace('.', '') + '.csv' + f.save(os.path.join(main.config['UPLOAD_FOLDER'], filename)) + + all_data = pd.read_csv(main.config['UPLOAD_FOLDER'] + filename) + all_data['Date'] = pd.to_datetime(all_data['Date'], format='%Y-%m-%d') + + tickers = list(all_data.columns) + tickers.remove('Date') + print('The list of assets: ', tickers) + + competition = request.form['competition'] + + + # Turn off progress printing + solvers.options['show_progress'] = False + + + def stockpri(ticker, start, end): + data = all_data.loc[start:end, ['Date', ticker]] + data.set_index('Date', inplace=True) + data = data[ticker] + return data + + + portfolio_value = pd.Series([100]) + optimal_weights = None + hist_return_series = pd.DataFrame(columns=['month', 'monthly_returns']) + + start_dates = list(np.arange(0, len(all_data), 21)) + [len(all_data)-1] + + + for i in range(len(start_dates)-3): + + ### Take 6 months to backtest ### + + start = start_dates[i] + end = start_dates[i+2]+1 + + data = pd.DataFrame({ ticker: stockpri(ticker, start, end) for ticker in tickers }) + data = data.dropna() + + returns = data.pct_change() + 1 + returns = returns.dropna() + log_returns = np.log(data.pct_change() + 1) + log_returns = log_returns.dropna() + + if log_returns.empty: + continue + + mu = np.exp(log_returns.mean()*252).values + # Markowitz frontier + profit = np.linspace(np.amin(mu), np.amax(mu), 100) + frontier = [] + w = [] + if len(tickers) >= 3: + for p in profit: + # Problem data. + n = len(tickers) + S = matrix(log_returns.cov().values*252) + pbar = matrix(0.0, (n,1)) + # Gx <= h + G = matrix(0.0, (2*n,n)) + G[::(2*n+1)] = 1.0 + G[n::(2*n+1)] = -1.0 + # h = matrix(1.0, (2*n,1)) + h = matrix(np.concatenate((0.5*np.ones((n,1)), -0.03*np.ones((n,1))), axis=0)) + A = matrix(np.concatenate((np.ones((1,n)), mu.reshape((1,n))), axis=0)) + b = matrix([1, p], (2, 1)) + + # Compute trade-off. + res = qp(S, -pbar, G, h, A, b) + + if res['status'] == 'optimal': + res_weight = res['x'] + s = math.sqrt(dot(res_weight, S*res_weight)) + frontier.append(np.array([p, s])) + w.append(res_weight) + elif len(tickers) == 2: + for p in profit: + S = log_returns.cov().values*252 + res_weight = [1 - (p-mu[0])/(mu[1]-mu[0]), (p-mu[0])/(mu[1]-mu[0])] + if (res_weight[0] < 0.03) or (res_weight[0] > 0.97): + continue + s = math.sqrt(np.matmul(res_weight, np.matmul(S, np.transpose(res_weight)))) + frontier.append(np.array([p, s])) + w.append(res_weight) + + + frontier = np.array(frontier) + if frontier.shape == (0,): + continue + x = np.array(frontier[:, 0]) + y = np.array(frontier[:, 1]) + + frontier_sharpe_ratios = np.divide(x-1, y) + optimal_portfolio_index = np.argmax(frontier_sharpe_ratios) + optimal_weights = w[optimal_portfolio_index] + + + ### paper trade on the next three months ### + + start = start_dates[i+2] + end = start_dates[i+3]+1 + + data = pd.DataFrame({ ticker: stockpri(ticker, start, end) for ticker in tickers }) + data = data.dropna() + + returns = data.pct_change() + 1 + returns = returns.dropna() + log_returns = np.log(data.pct_change() + 1) + log_returns = log_returns.dropna() + + + portfolio_cum_returns = np.dot(returns, optimal_weights).cumprod() + portfolio_value_new_window = portfolio_value.iloc[-1].item() * pd.Series(portfolio_cum_returns) + portfolio_value_new_window.index = pd.to_datetime(returns.index, format='%Y-%m-%d') + portfolio_value = portfolio_value.append(portfolio_value_new_window) + + # produce monthly return + hist_return_series.loc[len(hist_return_series)] = [str(start), portfolio_cum_returns[-1]-1] + + if optimal_weights == None: + sharpe_ratio = avg_annual_return = annual_volatility = max_drawdown = ten_day_var = 0 + optimal_weights = [0, ]*len(tickers) + hist_returns = None + conn = psycopg2.connect(database=POSTGRESQL_DATABASE, user=POSTGRESQL_USER) + cur = conn.cursor(cursor_factory = psycopg2.extras.DictCursor) + cur.execute("""insert into strategy (strategy_name, + author, + create_date, + explanation, + sharpe_ratio, + return, + volatility, + max_drawdown, + tw, + competition, + hist_returns, + alpha, + beta, + r_squared, + ten_day_var) + values (%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s) returning strategy_id;""", + (strategy_name, + session['USERNAME'], + create_date, + "", #explanation + sharpe_ratio, + avg_annual_return, + annual_volatility, + max_drawdown, + 0, # tw_digit, + competition, + hist_returns, + 0, # alpha, + 0, # beta, + 0, # r_squared, + ten_day_var + ) ) + strategy_id = cur.fetchone()[0] + conn.commit() + + # record the list of tickers into database + # strategy_id = cur.execute('select * from strategy where create_date=?', [create_date]).fetchone()['strategy_id'] + for i in range(len(tickers)): + cur.execute('insert into assets_in_strategy (strategy_id, asset_ticker, weight) values (%s, %s, %s)', + (strategy_id, tickers[i], optimal_weights[i])) + conn.commit() + + cur.close() + conn.close() + print('Strategy_id ' + str(strategy_id) + ' optimization fails.') + flash('無資料或無法畫出馬可維茲邊界,請換一個組合', 'danger') + conn = psycopg2.connect(database=POSTGRESQL_DATABASE, user=POSTGRESQL_USER) + cur = conn.cursor(cursor_factory = psycopg2.extras.DictCursor) + cur.execute("""select * from strategy where competition='topic' order by strategy_id desc""") + sql_results = cur.fetchall() + cur.close() + conn.close() + return render_template('create_strategy_topic.html', topic_results=sql_results) + + avg_annual_return = np.exp(np.log(portfolio_value.pct_change() + 1).mean() * 252) - 1 + annual_volatility = portfolio_value.pct_change().std() * math.sqrt(252) + sharpe_ratio = avg_annual_return/annual_volatility + max_drawdown = - np.amin(np.divide(portfolio_value, np.maximum.accumulate(portfolio_value)) - 1) + ten_day_var = ten_day_VaR(portfolio_value) + + print('Sharpe ratio: ', sharpe_ratio, ', Return: ', avg_annual_return, ', Volatility: ', annual_volatility, ', Maximum Drawdown: ', max_drawdown) + + # hist_return_series.set_index('month', inplace=True) + hist_returns = pickle.dumps(hist_return_series) + + conn = psycopg2.connect(database=POSTGRESQL_DATABASE, user=POSTGRESQL_USER) + cur = conn.cursor(cursor_factory = psycopg2.extras.DictCursor) + cur.execute("""insert into strategy (strategy_name, + author, + create_date, + explanation, + sharpe_ratio, + return, + volatility, + max_drawdown, + tw, + competition, + hist_returns, + alpha, + beta, + r_squared, + ten_day_var) values (%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s) returning strategy_id;""", + (strategy_name, + session['USERNAME'], + create_date, + "", #explanation + sharpe_ratio, + avg_annual_return, + annual_volatility, + max_drawdown, + 0, # tw_digit, + competition, + hist_returns, + 0, # alpha, + 0, # beta, + 0, # r_squared, + ten_day_var + ) ) + strategy_id = cur.fetchone()[0] + conn.commit() + + # record the list of tickers into database + # strategy_id = cur.execute('select * from strategy where create_date=%s', (create_date,)).fetchone()['strategy_id'] + for i in range(len(tickers)): + cur.execute('insert into assets_in_strategy (strategy_id, asset_ticker, weight) values (%s, %s, %s)', + (strategy_id, tickers[i], optimal_weights[i])) + conn.commit() + + cur.close() + conn.close() + + # fig, ax = plt.subplots() + # hist_return_series.hist(column='monthly_returns', by='month', ax=ax) + hist_return_plot = hist_return_series.plot.bar(x='month', y='monthly_returns').get_figure() + plt.tight_layout() + hist_return_plot.savefig('static/img/monthly_returns/'+str(strategy_id)+'.png') + plt.close() + + print(portfolio_value.head()) + print(portfolio_value.tail()) + plt.xticks(rotation=90) + # plt.tight_layout() + plt.plot(portfolio_value.iloc[1:]) + plt.savefig('static/img/portfolio_values/'+str(strategy_id)+'.png', bbox_inches='tight') + plt.close() + print('Strategy_id ' + str(strategy_id) + ' optimization succeeds.') + flash(Markup('回測已完成,詳情請點這裡查看。'), 'success') + conn = psycopg2.connect(database=POSTGRESQL_DATABASE, user=POSTGRESQL_USER) + cur = conn.cursor(cursor_factory = psycopg2.extras.DictCursor) + cur.execute("""select * from strategy where competition in ('topic_high_sharpe', 'topic_high_esg', 'topic_high_return', 'topic_high_volume') order by strategy_id desc""") + sql_results = cur.fetchall() + cur.close() + conn.close() + return render_template('create_strategy_topic.html', topic_results=sql_results) + + +@main.route('/login') +def login(): + return render_template('login.html') + + +@main.route('/login', methods=['POST']) +def login_post(): + password = request.form.get('password') + username = request.form.get('username') + + conn = psycopg2.connect(database=POSTGRESQL_DATABASE, user=POSTGRESQL_USER) + cur = conn.cursor(cursor_factory = psycopg2.extras.DictCursor) + cur.execute('select * from users where username=%s', (username,)) + sql_result = cur.fetchone() + cur.close() + conn.close() + + if (not sql_result) or (not check_password_hash(sql_result['password'], password)): + flash('使用者代號不對或密碼不對,請再試一次。', 'danger') + return redirect('/login') + + print(sql_result['username'], sql_result['user_id']) + session['login'] = True + session['user_id'] = sql_result['user_id'] + session['USERNAME'] = sql_result['username'] + session['last_creation_time'] = 0 + session['vip'] = sql_result['vip'] + return redirect('/') + + +@main.route('/logout') +#@login_required +def logout(): + #logout_user() + session['user_id'] = -1 + session['USERNAME'] = None + session['login'] = False + session['last_creation_time'] = None + session['vip'] = None + return redirect('/login') + + +@main.route('/signup') +def signup(): + return render_template('signup.html') + + +@main.route('/signup', methods=['POST']) +def signup_post(): + username = request.form.get('username') + password = request.form.get('password') + confirm_password = request.form.get('confirm_password') + + conn = psycopg2.connect(database=POSTGRESQL_DATABASE, user=POSTGRESQL_USER) + cur = conn.cursor(cursor_factory = psycopg2.extras.DictCursor) + cur.execute('select * from users where username=%s', (username,)) + sql_result = cur.fetchone() + if sql_result: # if a user is found, we want to redirect back to signup page so user can try again + cur.close() + conn.close() + flash('這個Email地址已經被使用', 'danger') + return redirect('/signup') + + if not (password == confirm_password): + cur.close() + conn.close() + flash('所輸入兩次密碼不同', 'danger') + return redirect('/signup') + + # create new user with the form data. Hash the password so plaintext version isn't saved. + cur.execute('insert into users (username, password) values (%s, %s)', (username, generate_password_hash(password))) + conn.commit() + cur.close() + conn.close() + + print('registered') + flash('已成功註冊', 'success') + + return redirect('/login') + + +@main.route('/forum') +def forum_index(): + if not (session.get('USERNAME') and session['USERNAME']): + flash('使用此功能必須先登入。', 'danger') + return redirect('/login') + conn = psycopg2.connect(database=POSTGRESQL_DATABASE, user=POSTGRESQL_USER) + cur = conn.cursor(cursor_factory = psycopg2.extras.DictCursor) + cur.execute("""select * from strategy + where competition not in (""" + confidential_competitions_placeholder + """) or author=%s + order by strategy_id desc;""", + confidential_competitions_list + (session['USERNAME'],)) + data = cur.fetchall() + cur.close() + conn.close() + + content_list = [] + for d in data: + content_list.append({ + "id": d['strategy_id'], + "time": d['create_date'], + "user_id": None, + "user_email": None, + "user_name": d['author'], + "comment": None, + "title": d['strategy_name'], + "video_id": None + }) + + return_data = { + "count": len(data), + "content": content_list + } + + return render_template('forum.html', forum_data=return_data) + + +@main.route('/post_page', methods=['GET']) +# @login_required +def post_page(): + if not (session.get('USERNAME') and session['USERNAME']): + flash('使用此功能必須先登入。', 'danger') + return redirect('/login') + post_id = int(request.values.get('post_id')) + + conn = psycopg2.connect(database=POSTGRESQL_DATABASE, user=POSTGRESQL_USER) + cur = conn.cursor(cursor_factory = psycopg2.extras.DictCursor) + + cur.execute('update strategy set click_count=click_count+1 where strategy_id=%s', (post_id,)) + conn.commit() + + cur.execute('select * from strategy where strategy_id=%s', (post_id,)) + strategy_content_list = cur.fetchone() + cur.execute('select * from assets_in_strategy where strategy_id=%s', (post_id,)) + asset_list = cur.fetchall() + cur.execute('select * from comment where strategy_id=%s', (post_id,)) + comment_list = cur.fetchall() + cur.close() + conn.close() + + print(asset_list) + + with open('latest_trading_data.txt') as all_data: + all_data_close = json.load(all_data) + + return_data = { + "strategy_content": strategy_content_list, + "asset_content": asset_list, + "comment_content": comment_list, + "comment_count": len(comment_list), + "asset_candidates": dict(asset_candidates + asset_candidates_tw), + "all_trading_data": all_data_close + } + + return render_template('post_page.html', data=return_data, strategy_id=str(post_id)) + +@main.route('/comment', methods=['POST']) +#@login_required +def post_comment_data(): + comment = request.form['comment'] + strategy_id = request.form['strategy_id'] + author = session['USERNAME'] + utc = datetime.utcnow() + utc = utc.replace(tzinfo=pytz.utc) + comment_date = datetime.strftime(utc.astimezone(pytz.timezone('Asia/Taipei')), '%Y/%m/%d %H:%M') + # comment_date = datetime.strftime(datetime.utcnow().astimezone(pytz.timezone('Asia/Taipei')), '%Y/%m/%d %H:%M') + # comment_date = datetime.strftime(datetime.utcnow().replace(tzinfo=pytz.timezone('Asia/Taipei')), '%Y/%m/%d %H:%M') + + conn = psycopg2.connect(database=POSTGRESQL_DATABASE, user=POSTGRESQL_USER) + cur = conn.cursor(cursor_factory = psycopg2.extras.DictCursor) + cur.execute('insert into comment (author, strategy_id, comment, date) values (%s, %s, %s, %s)', (author, strategy_id, comment, comment_date)) + conn.commit() + + cur.close() + conn.close() + return redirect('/post_page?post_id='+str(strategy_id)) + + +#@main.route('/profile') +#@login_required +#def profile(): +# return render_template('profile.html', name=current_user.name) + + +@main.route('/analysis_result') +#@login_required +def analysis_result(): + if not (session.get('USERNAME') and session['USERNAME']): + flash('使用此功能必須先登入。', 'danger') + return redirect('/login') + + sortby = request.values.get('sortby') + competition = request.values.get('competition') + tw = request.values.get('tw') + tw_digit = 1 if tw=='true' else 0 if tw=='false' else None + + conn = psycopg2.connect(database=POSTGRESQL_DATABASE, user=POSTGRESQL_USER) + cur = conn.cursor(cursor_factory = psycopg2.extras.DictCursor) + if sortby == 'competition': + if competition in confidential_competitions_list: + cur.close() + conn.close() + flash('本競賽暫不開放查詢', 'danger') + return redirect('analysis_result?sortby=default&tw=' + tw +'&competition=none') + cur.execute("""select b.strategy_id, + a.author, + b.create_date, + b.return, + a.sharpe_ratio, + b.max_drawdown, + b.strategy_name, + b.volatility + from (select author, max(sharpe_ratio) as sharpe_ratio from strategy group by author) as a + join strategy as b on a.author=b.author and a.sharpe_ratio=b.sharpe_ratio + where b.competition=%s + order by a.sharpe_ratio desc;""", (competition,)) + #cur.execute("""select strategy_id, + # author, + # create_date, + # return, + # max(sharpe_ratio) as sharpe_ratio, + # max_drawdown, + # strategy_name, + # volatility + # from strategy + # where competition=%s + # group by author + # order by sharpe_ratio desc;""", (competition,)) + sql_results = cur.fetchall() + num_records_hidden = min(5, len(sql_results)) + if session['vip']==False: + for i in range(num_records_hidden): + for key in sql_results[i].keys(): + if key not in ['return', 'sharpe_ratio', 'max_drawdown', 'volatility']: + sql_results[i][key] = '*****' + elif sortby == 'default': + cur.execute("""select * from strategy + where tw=%s and (competition not in (""" + confidential_competitions_placeholder + """) or author=%s) + order by strategy_id desc limit 200;""", + (tw_digit,) + confidential_competitions_list + (session['USERNAME'],)) + sql_results = cur.fetchall() + elif sortby == 'myself': + cur.execute("""select * from strategy + where tw=%s and author=%s + order by strategy_id desc;""", + (tw_digit, session['USERNAME'])) + sql_results = cur.fetchall() + elif sortby == 'return': + cur.execute("""select * from strategy + where tw=%s and (competition not in (""" + confidential_competitions_placeholder + """) or author=%s) + order by return desc limit 1000;""", + (tw_digit,) + confidential_competitions_list + (session['USERNAME'],)) + sql_results = cur.fetchall() + # num_records_hidden = min(5, len(sql_results)) + # if session['vip']==False: + # for i in range(num_records_hidden): + # for key in sql_results[i].keys(): + # if key not in ['return', 'sharpe_ratio', 'max_drawdown', 'volatility']: + # sql_results[i][key] = '*****' + if session['vip']==False: + return_threshold = 1 + for record in sql_results: + if record['return'] > return_threshold: + for key in record.keys(): + if key not in ['return', 'sharpe_ratio', 'max_drawdown', 'volatility']: + record[key] = '*****' + else: + break + elif sortby == 'sharpe': + cur.execute("""select * from strategy + where tw=%s and (competition not in (""" + confidential_competitions_placeholder + """) or author=%s) and sharpe_ratio!='NaN' + order by sharpe_ratio desc limit 1000;""", + (tw_digit,) + confidential_competitions_list + (session['USERNAME'],)) + sql_results = cur.fetchall() + if session['vip']==False: + sharpe_threshold = 5 + for record in sql_results: + if record['sharpe_ratio'] > sharpe_threshold: + for key in record.keys(): + if key not in ['return', 'sharpe_ratio', 'max_drawdown', 'volatility']: + record[key] = '*****' + else: + break + elif sortby == 'vol': + cur.execute("""select * from strategy + where tw=%s and (competition not in (""" + confidential_competitions_placeholder + """) or author=%s) and volatility!=0 + order by volatility asc limit 1000;""", + (tw_digit,) + confidential_competitions_list + (session['USERNAME'],)) + sql_results = cur.fetchall() + if session['vip']==False: + vol_threshold = 0.1 + for record in sql_results: + if record['volatility'] < vol_threshold: + for key in record.keys(): + if key not in ['return', 'sharpe_ratio', 'max_drawdown', 'volatility']: + record[key] = '*****' + else: + break + elif sortby == 'mdd': + cur.execute("""select * from strategy + where tw=%s and (competition not in (""" + confidential_competitions_placeholder + """) or author=%s) and max_drawdown!=0 + order by max_drawdown asc limit 1000;""", + (tw_digit,) + confidential_competitions_list + (session['USERNAME'],)) + sql_results = cur.fetchall() + if session['vip']==False: + mdd_threshold = 0.15 + for record in sql_results: + if record['max_drawdown'] < mdd_threshold: + for key in record.keys(): + if key not in ['return', 'sharpe_ratio', 'max_drawdown', 'volatility']: + record[key] = '*****' + else: + break + cur.close() + conn.close() + return render_template('result.html', results=sql_results, tw=tw) + + +if __name__ == "__main__": + main.run(host='0.0.0.0', port=80) diff --git a/non.html b/non.html new file mode 100644 index 0000000..cc12734 --- /dev/null +++ b/non.html @@ -0,0 +1,108 @@ + + + + + To-Do List + + + + +
+
+
+ + +
+ +
+ +
    +
    + + + + + + + + + + diff --git a/portfolio_builder.py b/portfolio_builder.py new file mode 100644 index 0000000..30b7ef2 --- /dev/null +++ b/portfolio_builder.py @@ -0,0 +1,126 @@ +import json +import time +import numpy as np +import pandas as pd + +from scipy.optimize import minimize + +class MVO(object): + def __init__(self, data, market, ratio, role='max-sharpe'): + length, self.num = data.shape + tsize = int(length*ratio) + self.data_return = data.pct_change().dropna().to_numpy() + self.market_return = market.pct_change().dropna().to_numpy() + self.train[:tsize, :] + self.test[tsize:, :] + self.train_market = self.market_return[:tsize] + self.test_market = self.market_return[tsize:] + @staticmethod + def portfolio_info(w, ret, market_ret, rf=0): + # return and drawdown + retPort = ret@w # T-dimensional array + cum_ret = (retPort+1).cumprod() + rolling_max=np.maximum.accumulate(cum_ret) + mdd = np.max((rolling_max - cum_ret)/rolling_max) + + ## Sharpe Ratio + stdPort = np.std(retPort) + vol = stdPort*15.87451 + annual_ret = np.mean(retPort) * 252 + annual_sr = (annual_ret-rf) / vol + + ## alpha, beta + cov = np.cov(retPort, market_ret) + beta = cov[0, 1] / cov[1, 1] + alpha = annual_ret - rf - beta*(np.mean(market_ret) * 252 - rf) + R2 = cov[0, 1]**2/(cov[0, 0] * cov[1, 1]) + + ## n-day 95% VaR + var10 = -annual_ret*(10/252) + 1.645*vol*(10/252)**(1/2) + d = dict(annual_ret = annual_ret, + vol=vol, + mdd=mdd, + annual_sr=annual_sr, + beta=beta, + alpha=alpha, + var10=var10, + R2=R2) + return {key: round(d[key], 2) for key in d} + @staticmethod + def sharpe_ratio(w, ret): + cov = np.cov(ret.T) + print(cov.shape, w.shape) + retPort = ret@w # T-dimensional array + stdPort = np.std(retPort) + return np.mean(retPort)/stdPort + @staticmethod + def sharpe_grad(w, ret, cov): + manual_ret = np.mean(ret, axis=0) + # print(cov.shape, w.shape) + retPort = ret@w # T-dimensional array + stdPort = np.std(retPort) + g1=manual_ret/stdPort + g2=np.mean(retPort)*(-0.5)*stdPort**(-3)*(2*cov@w) + return g1+g2 + @staticmethod + def sortino_ratio(w, ret): + retPort = ret@w # T-dimensional array + stdPort = np.std(np.maximum(-retPort, 0)) + return np.mean(retPort)/stdPort + @staticmethod + def sortino_grad(w, ret, cov_sor): + manual_ret = np.mean(ret, axis=0) + # print(cov.shape, w.shape) + retPort = ret@w # T-dimensional arrayss + stdPort = np.std(retPort) + g1=manual_ret/stdPort + g2=np.mean(retPort)*(-0.5)*stdPort**(-3)*(2*cov_sor@w) + return g1+g2 + @staticmethod + def volatility(w, ret): + retPort = ret@w # T-dimensional array + stdPort = np.std(retPort) + return stdPort + @staticmethod + def volatility_grad(w, ret, cov): + retPort = ret@w # T-dimensional array + stdPort = np.std(retPort) + return cov@w/stdPort**(0.5) + @classmethod + def opt(cls, ret, role="max_sharpe"): + n = ret.shape[1] + init=np.ones(n)/n + if role=="max_sharpe": + cov=np.cov(ret.T) + loss = lambda w: -cls.sharpe_ratio(w, ret) + grad = lambda w: -cls.sharpe_grad(w, ret, cov) + elif role=="max_sortino": + cov = np.cov(np.maximum(ret, 0).T) + loss = lambda w: -cls.sortino_ratio(w, ret) + grad = lambda w: -cls.sortino_grad(w, ret, cov) + elif role=="min_volatility": + cov=np.cov(ret.T) + loss = lambda w: cls.volatility(w, ret) + grad = lambda w: cls.volatility_grad(w, ret, cov) + else: + return init + bnds = [[0, 0.6] for i in range(n)] + opts = {'maxiter': 10000, 'disp': False} + cons = ({'type': 'eq', 'fun': lambda w: np.sum(w) - 1}) + result = minimize(loss, init, method="SLSQP",\ + options=opts, bounds=bnds, tol = None, jac = grad, constraints=cons) + sol = result['x'] + return np.round(sol, 2) + + + + + + + + + + + + + \ No newline at end of file diff --git a/sql_command.py b/sql_command.py new file mode 100644 index 0000000..e7dfed6 --- /dev/null +++ b/sql_command.py @@ -0,0 +1,5 @@ +insert_strategy = \ +""" +insert into strategy (date, name, username, competition, role, ratio, annual_ret, vol, mdd, annual_sr, beta, alpha, var10, R2, tw, comment, assets, assets_position) values (%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s); +""" +# (date, name, username, competition, role, ratio, annual_ret, vol, mdd, annual_sr, beta, alpha, var10, R2, tw, comment, assets, assets_position) diff --git a/sql_script/create_stockDB.sql b/sql_script/create_stockDB.sql new file mode 100644 index 0000000..10c0601 --- /dev/null +++ b/sql_script/create_stockDB.sql @@ -0,0 +1,44 @@ +DROP TABLE IF EXISTS stock_price; +-- DROP TABLE IF EXISTS stock_price_tw; +-- DROP TABLE IF EXISTS stock_info; +-- DROP TABLE IF EXISTS stock_info_tw; + +CREATE TABLE stock_price ( + id SERIAL PRIMARY KEY, + ticker VARCHAR(64) NOT NULL, + date DATE NOT NULL, + price REAL NOT NULL, + return REAL NOT NULL +); +-- you need to add () +CREATE INDEX idx_ticker ON stock_price (ticker); + +-- CREATE TABLE stock_price_tw ( +-- id SERIAL PRIMARY KEY, +-- ticker VARCHAR(64) NOT NULL, +-- date DATE NOT NULL, +-- price REAL NOT NULL, +-- return REAL NOT NULL +-- ); +-- -- you need to add () +-- CREATE INDEX idx_ticker_tw ON stock_price_tw (ticker); + +-- CREATE TABLE stock_info_tw ( +-- id SERIAL PRIMARY KEY, +-- ticker VARCHAR(64) NOT NULL, +-- last_price REAL NOT NULL, +-- start DATE NOT NULL, +-- end DATE NOT NULL +-- ); +-- you need to add () +-- CREATE INDEX idx_info_tw ON stock_info_tw (ticker); + +-- CREATE TABLE stock_info ( +-- id SERIAL PRIMARY KEY, +-- ticker VARCHAR(64) NOT NULL, +-- last_price REAL NOT NULL, +-- start DATE NOT NULL, +-- end DATE NOT NULL +-- ); +-- you need to add () +-- CREATE INDEX idx_info ON stock_info (ticker); \ No newline at end of file diff --git a/sql_script/create_strategy.sql b/sql_script/create_strategy.sql new file mode 100644 index 0000000..ea77353 --- /dev/null +++ b/sql_script/create_strategy.sql @@ -0,0 +1,24 @@ +DROP TABLE IF EXISTS strategy; +CREATE TABLE strategy ( + id SERIAL PRIMARY KEY, + date DATE NOT NULL, + name VARCHAR(64) NOT NULL, + username VARCHAR(64) NOT NULL, + competition VARCHAR(64) NOT NULL, + role VARCHAR(20) NOT NULL, + ratio REAL NOT NULL, + annual_ret REAL NOT NULL, + vol REAL NOT NULL, + mdd REAL NOT NULL, + annual_sr REAL NOT NULL, + beta REAL NOT NULL, + alpha REAL NOT NULL, + var10 REAL NOT NULL, + R2 REAL NOT NULL, + tw BOOLEAN DEFAULT TRUE, + comment VARCHAR(255), + assets TEXT[] NOT NULL, + assets_position REAL[] NOT NULL +); +CREATE INDEX idx_user ON strategy (username); + diff --git a/sql_script/create_users.sql b/sql_script/create_users.sql new file mode 100644 index 0000000..c8b90a5 --- /dev/null +++ b/sql_script/create_users.sql @@ -0,0 +1,10 @@ +DROP TABLE IF EXISTS users; +CREATE TABLE users ( + user_id SERIAL PRIMARY KEY, + username VARCHAR(64) UNIQUE NOT NULL, + password VARCHAR(128) NOT NULL, + vip BOOLEAN DEFAULT FALSE +); +INSERT INTO users (username, password) +VALUES ('admin', 'pbkdf2:sha256:260000$Z5bK5pp0D8HEDAps$abb43b1b1c543ff334de8fb3aeba9c0460c37de5b5363e5210e68b00739d5e2c'), +('R10246002@ntu.edu.tw', 'pbkdf2:sha256:260000$Z5bK5pp0D8HEDAps$abb43b1b1c543ff334de8fb3aeba9c0460c37de5b5363e5210e68b00739d5e2c'); \ No newline at end of file diff --git a/static/img/cat.png b/static/img/cat.png new file mode 100644 index 0000000..2e96417 Binary files /dev/null and b/static/img/cat.png differ diff --git a/static/img/frontier.jpg b/static/img/frontier.jpg new file mode 100644 index 0000000..ccc41f0 Binary files /dev/null and b/static/img/frontier.jpg differ diff --git a/static/img/money.jpeg b/static/img/money.jpeg new file mode 100644 index 0000000..7bb16d3 Binary files /dev/null and b/static/img/money.jpeg differ diff --git a/static/img/stock.jpeg b/static/img/stock.jpeg new file mode 100644 index 0000000..8c9e451 Binary files /dev/null and b/static/img/stock.jpeg differ diff --git a/static/js/addStock.js b/static/js/addStock.js new file mode 100644 index 0000000..449c996 --- /dev/null +++ b/static/js/addStock.js @@ -0,0 +1,156 @@ +// Initialize empty stock list +let stockList = ['2330.TW']; +// Cache frequently-used DOM elements +const $stockForm = $('#stock-form'); +const $stockSelect = $('#stock-select'); +const $compSelect = $('#competition'); +const $stockList = $('#stock-list'); +const $submitBtn = $('#submit-btn'); +const $addStockBtn = $('#addStockBtn'); +const $submitPort = $('#submit-port'); +const $sendPort = $('#sendPort'); +const $commentPort = $('#commentPort'); + +// Function to add a new stock item to the list +function addStockItem(stock, text) { + // Add item to array + stockList.push(stock); + // Update HTML list + const $newItem = $(`
  • + ${text} + + + +
  • `); + $stockList.append($newItem); +} + +// Function to delete a stock item from the list +function deleteStockItem(itemIndex) { + // Remove item from array + stockList.splice(itemIndex, 1); + + // Update HTML list + $stockList.children().eq(itemIndex).remove(); +} + +// Event listener for delete button clicks +$stockList.on('click', '.delete-btn', function(){ + var itemIndex = $(this).closest('li').index() + deleteStockItem(itemIndex); + // console.log(stockList); + }); +// $stockList.on('click', '.delete-btn', function(event) { +// // Get index of item to delete +// const $deleteBtn = $(event.target); +// const itemIndex = $deleteBtn.parent().index(); + +// // Delete item from list +// deleteStockItem(itemIndex); +// }); + + +// Event listener for submit button click +$addStockBtn.click(function(event) { + event.preventDefault(); + $('#search').val(''); + // Get selected stock from form + const selectedStock = $stockSelect.val(); + var text = $('#stock-select option:selected').text(); + if (selectedStock != null && stockList.indexOf(selectedStock)===-1) { + // Add new item to list + addStockItem(selectedStock, text); + + // Clear input field + $stockSelect.val(''); + } + console.log(stockList); +}); + +// Event listener for submit button click +$submitPort.click(function(event) { + event.preventDefault(); + if (stockList.length > 1){ + $('#portModal').modal('show'); + console.log('asset confirm'); + // $(this).prop('disabled', true); + } +}); +// Event listener for submit button click +$sendPort.click(function(event) { + if (stockList.length > 1){ + $('#confirmMes').text("投資組合已開始建立,請等待完成訊息,或1分鐘後至分析結果區查看!") + $('#confirmModal').modal('show'); + + + $submitPort.prop('disabled', true); + $.ajax({ + url: '/postPort', //todo create_strategy + method: 'POST', + data: { + name: $('input[name=portName]').val(), + ts: Date.now(), + comp: $('#competition').val(), + ratio: $('#ratio-select').val(), + role: $('#role-select').val(), + comment: $commentPort.val(), + stockList: JSON.stringify(stockList) + }, + success: function(response) { + console.log(response); + // var res = JSON.parse(response); + event.preventDefault(); + $('#confirmMes').text(response.mes) + if (stockList.length > 0){ + $('#confirmModal').modal('show'); + } + $submitPort.prop('disabled', false); + }, + error: function(xhr) { + console.log('Error submitting stock list: ' + xhr.responseText); + } + }); + $commentPort.val(''); +} + // Get selected stock from form +}); + +// Event listener for submit button click +$submitBtn.click(function(event) { + // Send stock list to server + // console.log(event.target) + // console.log(stockList) + // console.log(cacheList.value, stockList); + if (stockList.length > 0) { + // cacheList = stockList; + $.ajax({ + url: '/postStock', //todo create_strategy + method: 'POST', + data: { stockList: JSON.stringify(stockList) }, + success: function(response) { + var graphs = JSON.parse(response); + Plotly.newPlot("graph", + graphs.data, graphs.layout, {responsive: true}); + console.log(response.layout); + }, + error: function(xhr) { + console.log('Error submitting stock list: ' + xhr.responseText); + } + }); + } +}); +$(document).ready(function(){ + $("#search").on("keyup", function() { + var value = $(this).val().toLowerCase(); + $("#stock-select option").filter(function() { + $(this).toggle($(this).text().toLowerCase().indexOf(value) > -1) + }); + }); +}); + +// window.onresize = function() { +// Plotly.relayout('graph', { +// 'xaxis.autorange': true, +// 'yaxis.autorange': true +// }); +// }; diff --git a/templates/base.html b/templates/base.html new file mode 100644 index 0000000..decf0a7 --- /dev/null +++ b/templates/base.html @@ -0,0 +1,284 @@ + + + + + + + {% block title %}NTHU Trading Platform{% endblock title%} + + + + {% block link %} + + + {% endblock %} + + + +
    + + {% set navigation_bar = [ + ('/', 'index', '首頁', 'bi bi-house-fill'), + ('/strategy', 'strategy', '建立策略', 'bi bi-piggy-bank-fill'), + ('/strategy_tw', 'strategy_tw', '台股建立策略', 'bi bi-piggy-bank-fill'), + ('/custom', 'custom', '自訂數據建立策略', 'bi bi-database-fill-add'), + ('/result', 'result', '分析結果排行', 'bi bi-graph-up-arrow'), + ('/result_tw', 'result_tw', '分析結果排行(台股)', 'bi bi-graph-up-arrow'), + ('mailto:r10246002@ntu.edu.tw', 'error', '錯誤回報', 'bi bi-bug-fill') + ] -%} + {% set active_page = active_page|default('index') -%} + +
    + + {% block content %} +
    + + +
    +

    平台簡介

    +

    + 我們常聽到的「鷄蛋不要放在同個籃子裏」, + 爲的就是要分散股市不確定性所帶來的風險。 + 一般來説,在風險分散的同時,收益也會跟著降低。 + 於是問題就變成:我們如何在風險與報酬率中取捨。 + 被稱爲資産配置之父的哈利·馬可維兹(Harry Max Markowitz)就提供了以下的想法。 +

    +

    + 在給定各個標的(underlying)的權重後, + 對該投資組合(portfolio)做均值–變異數分析(mean-variance analysis), + 其中平均數爲平均報酬率,變異數爲波動率(意即「風險」)。 + 在這樣定義不同投資組合的報酬與風險的情况下, + 我們可以發現:在不同的預期報酬下, + 都可以找到一個投資組合(或權重)使波動率達到最小值。 + 將這些報酬與對應到的最小風險記錄下來後所形成的開口向右的二維拋物線圖形(如下圖), + 就是所謂的「效率前緣(efficient frontier)」。 +

    +
    + frontier-example +
    +
    + + +

    + 本網站使用S&P 500、元大臺灣50以及Nasdaq 100指數的成份股的歷史日資料。 + 每次計算標的權重,都是取六個月的資料,依照馬可維兹的理論, + 畫出效率前緣,然後取夏普值最大的權重,再用接下來三個月的資料, + 觀察投資組合的價值如何變化。我們每三個月更新一次權重, + 再把許多三個月區間內投資組合的價值變動拼接起來, + 得到2015年中到2020年中投資組合的價值變動, + 再藉此求出平均年報酬、年波動率,再把報酬除以波動率得到整個投資期間的夏普值。 + 另外我們還算出最大跌幅(maximum drawdown),就是投資過程中, + 會從到目前為止的最高點,最多下跌多少幅度。 +

    +
    +
    +
    +
    + 固定預期報酬 $p$,令投資組合權重為 $w$, 則將波動率最小化的數學問題為: +
    +
    +

    + $$\begin{equation} + \begin{aligned} + \min_{w} \quad &\frac{1}{2}w^{T}\Sigma w\quad\\ + \textrm{s.t.} \quad &\sum_{i=1}^{n}w_i = 1\\ + &\sum_{i=1}^{n}w_i R_i \geq p\\ + &0\leq w_i \leq 1 \quad , 1 \leq i \leq n + \end{aligned} + \end{equation}$$ +

    +
    +
    +
    +
    +
    +
    + 令投資組合權重為 $w$, 則將夏普率最大化的數學問題為: +
    +
    +

    + $$\begin{equation} + \begin{aligned} + \min_{w} \quad &\frac{w^T R}{\sqrt{w^{T}\Sigma w}}\quad\\ + \textrm{s.t.} \quad &\sum_{i=1}^{n}w_i = 1\\ + &0\leq w_i \leq 1 \quad , 1 \leq i \leq n + + \end{aligned} + \end{equation}$$ +

    +
    +
    +
    +
    +
    +

    投資組合的$\alpha$、$\beta$值簡介

    +

    + 在評估投資組合的表現時,經常使用的是絕對性的指標, + 例如報酬率、波動率、夏普指數,MDD等, + 不過也有相對性的指標alpha、beta值。 + 比較投組與另一個標的(例如大盤指數, + 我們可以透過回歸式,估計出作為超額報酬的alpha值, + 以及作為相關性的beta值。Alpha值表示投組的獲利能力, + 越高越好。Beta值代表了投組對系統性風險的曝險程度,越低越好。 +

    +

    + 根據CAPM模型,給定投組報酬 $r_{p}$, 大盤指數 $r_m$ 以及無風險利率 $r_f$ , + $\beta$ 值可以藉由以下公式得出: + $$ \mathbb{E}[r_p] - r_f = \beta (\mathbb{E}[r_m] - r_f)$$ + $\alpha$ 值則是藉由計算實際的投組報酬與由CAPM得到的理論報酬的差得到,公式為: + $$\alpha = r_p - (r_f + \beta (r_m - r_f))$$ +

    +

    + 當給定一組時間序列時,alpha、beta值可以利用線性回歸的方式得出。 + 我們可以將上述的式子改寫成以下的形式: + $$Y = \alpha + \beta X + \epsilon,$$ 而 $$Y = r_p-r_f , X = r_m-r_f$$ + 透過此回歸式,我們除了可以得到alpha、beta值外,也可以計算出值,用以衡量此模型的解釋力。 + 在本擂台上,不限台股的投組使用的大盤指數 ($r_m$) 是SPY, + 台股的投組使用的大盤指數是0050.TW,無風險利率暫定為0。 +

    +
    +

    VaR 簡介

    +
    +
    + {% endblock content %} + + + + + + + {% block script %} + + + + + {% endblock %} + + diff --git a/templates/competitions.html b/templates/competitions.html new file mode 100644 index 0000000..94c6f4f --- /dev/null +++ b/templates/competitions.html @@ -0,0 +1,53 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/templates/custom.html b/templates/custom.html new file mode 100644 index 0000000..f13d16e --- /dev/null +++ b/templates/custom.html @@ -0,0 +1,6 @@ +{% extends 'base.html' %} +{% set active_page = 'custom' %} + + +{% block title %}Strategy Page{% endblock%} +{% block content %}Hello world - {{ active_page|e }} {% endblock %} diff --git a/templates/login.html b/templates/login.html new file mode 100644 index 0000000..3ebd9a7 --- /dev/null +++ b/templates/login.html @@ -0,0 +1,85 @@ +{% extends 'base.html' %} +{% set active_page = none %} + + +{% block title %}Login Page{% endblock %} +{% block style %} +.card-body { + background-image: linear-gradient(rgba(255,255,255,0.5), rgba(255,255,255,0.5)), url({{ url_for('static', filename='img/cat.png') }}); + background-attachment: fixed-bottom; + background-position: right bottom -10px; + background-repeat: no-repeat; + +} +{% endblock %} + +{% block content %} +
    +
    +
    +
    +
    +
    +
    +
    +

    登入

    +
    + {% with messages = get_flashed_messages(with_categories=true) %} + {% if messages %} + {% for category, message in messages %} + + {% endfor %} + {% endif %} + {% endwith %} +
    + + +
    We'll never share your email with anyone else.
    +
    +
    + + +
    +
    + + +
    +
    + + +
    +
    +
    + +
    +
    +
    +
    +
    +
    +
    + + + +{% if error %} + +{% endif %} +{% endblock %} \ No newline at end of file diff --git a/templates/registration.html b/templates/registration.html new file mode 100644 index 0000000..242d39c --- /dev/null +++ b/templates/registration.html @@ -0,0 +1,73 @@ +{% extends 'base.html' %} +{% set active_page = none %} + + +{% block title %}Registration Page{% endblock %} +{% block content %} +
    +
    +
    +
    +
    +
    +
    +
    + +

    註冊

    +
    + {% with messages = get_flashed_messages(with_categories=true) %} + {% if messages %} + {% for category, message in messages %} + + {% endfor %} + {% endif %} + {% endwith %} +
    + + +
    We'll never share your email with anyone else.
    +
    +
    + + +
    +
    + + +
    +
    + + + +
    +
    + + +
    +
    + + SINGUP IMAGE + +
    +
    +
    +
    +
    +
    +
    +
    + + + + +{% endblock %} \ No newline at end of file diff --git a/templates/result.html b/templates/result.html new file mode 100644 index 0000000..d14c449 --- /dev/null +++ b/templates/result.html @@ -0,0 +1,6 @@ +{% extends 'base.html' %} +{% set active_page = 'result' %} + + +{% block title %}Strategy Page{% endblock%} +{% block content %}Hello world - {{ active_page|e }} {% endblock %} diff --git a/templates/result_tw.html b/templates/result_tw.html new file mode 100644 index 0000000..4aa5b2a --- /dev/null +++ b/templates/result_tw.html @@ -0,0 +1,8 @@ +{% extends 'base.html' %} +{% set active_page = 'result_tw' %} + + +{% block title %}Strategy Page{% endblock%} +{% block content %}Hello world - {{ active_page|e }} + +{% endblock %} diff --git a/templates/strategy_tw.html b/templates/strategy_tw.html new file mode 100644 index 0000000..8b3b1fa --- /dev/null +++ b/templates/strategy_tw.html @@ -0,0 +1,175 @@ +{% extends 'base.html' %} +{% if session.tw == 1 %} + {% set active_page = 'strategy_tw' %} +{% else %} + {% set active_page = 'strategy' %} +{% endif %} + + + +{% block title %}Strategy Page{% endblock%} +{% block style %} +body { + background-image: url({{ url_for('static', filename='img/money.jpeg') }}); + background-repeat: no-repeat; /* Do not repeat the image */ + background-size: cover; +} +.input-group{ + border: 1px solid #8E8E8E; + border-radius: 7px; +} +.input-group > span{ + bg-dark; + font-bold; +} +{% endblock style %} + +{% block content %} +
    +
    +
    +
    + ... +
    +
    投資組合建立步驟
    +
      +
    1. 輸入投資組合名稱
    2. +
    3. 選擇所參加的課程或競賽
    4. +
    5. 選擇資產 (可使用搜索功能篩選)
    6. +
    7. 確認資產後按下 "確認資產", 查看資產價格動態圖表
    8. +
    9. 選擇訓練 / 回測數據比例與最佳化目標函數
    10. +
    11. 確認後按下 "建立投資組合", 查看回傳訊息
    12. +
    +
    +
    +
    + 投資組合名稱 + +
    +
    + 請選擇所參加的課程/競賽 + +
    +
    + 搜尋 + + 下方加入資產 +
    +
    + 請選擇資產 + + + +
    +
    +
    +
    + 已選擇的資產 +
    +
    + + +
    +
    +
    +
    + 請選擇訓練/回測數據比例 + + +
    +
      +
    1. + 2330.TW | 台積電 | 2000-01-05 ~ + + + +
    2. +
    +
    +
    +
    +
    + + +
    +
    +
    + +{% endblock %} + + + + +{% block script %} + + +{% endblock script %} +