擅长:python、mysql、java
<p>我以前尝试过IbPy,并成功地获得了数据,但现在我改用Ibapi,这更困难,仍然不能完全交易,但它有一个调整后的历史价格。在</p>
<p>所以这是我的代码,你必须定制你想要的。在</p>
<p>1.获取股票会员表格Excel</p>
<pre><code>from ib.opt import ibConnection, message
from ib.ext.Contract import Contract
from ib.ext.Order import Order
from ib.ext.TickType import TickType as tt
from time import sleep, time, strftime
import datetime
from __future__ import print_function #I'm using 3.x style print
import pandas as pd
import numpy as np
from math import ceil
import re
xls_file = pd.ExcelFile('xxxx\\Interactive_Broker_trading\\SNP2.xlsx')
df = xls_file.parse('Sheet1')
Ticker = df.iloc[:,1]
all_data = pd.DataFrame(Ticker)
all_data.columns = ['ticker']
all_data['type'] = 'STK'
all_data['exchange'] = 'SMART'
all_data['curr'] = 'USD'
all_data['bidPrice'] =0
all_data['askPrice'] =0
all_data['lastPrice'] =0
all_data['HistoryPrice']=0
</code></pre>
<p>2.使用for loop获取历史价格,因为我的帐户限制为每秒100个请求,因此我将其分为8个多会话,用于标准普尔505。然后每70只股票重新登录。我能在2分钟内得到505的总数。在</p>
^{pr2}$