0

我是一个完全的菜鸟,需要帮助。我设法从 NSE 获取特定符号和到期的期权链,将其提取到 excel 中。
但我认为如果我可以使用 TWS API 会更好。

问题:想要获取给定交易品种和到期日的期权链等正常数据,以及过去几年的历史数据,然后在 excel 中查看该数据,以便进行进一步的计算。
因为,我不熟悉 pycharm 社区),我想使用 ATOM 编辑器和命令提示符获取数据。我从这里引用了代码(ATOM 中的这个视频以及从 IB 官方网站下载的 TWS API。) 在我的命令提示符中
使用 pip install ibapi并成功安装。

现在,在此之后,我用模拟交易账户启动了 TWS,并确保所有端口设置和一切都正确。之后,我运行了视频中显示的代码,即:

from ibapi.client import EClient
from ibapi.wrapper import EWrapper
from ibapi.contract import Contract

class TestApp(EWrapper, EClient):
    def __init__(self):
        EClient.__init__(self, self)

    def error(self, reqId, errorCode, errorString):
        print('Error: ', reqId, ' ', errorCode, ' ', errorString)

    def contractDetails(self, reqId, contractDetails):
        print('contractDetails: ', reqId, ' ', contractDetails)


def main():
    app = TestApp()

    app.connect('127.0.0.1', 7497, 0)

    # need to figure out code to w8 for validation from TWS


    contract = Contract()
    contract.symbol = 'AAPL'
    contract.secType = 'STK'
    contract.exchange = 'SMART'
    contract.currency = 'USD'
    contract.primaryExchange = 'NASDAQ'

    app.reqContractDetails(1, contract)

    app.run()


if __name__ == '__main__':
    main()

第一次运行此代码后,我收到了已执行的消息。

之后,我运行了这个程序 2-3 次,我得到的只是一个程序在 atom 中成功运行后我们看到的绿色刻度(ctrl+shift+b)。但我没有看到视频中显示的任何输出。
现在,我用 pycharm 做了同样的事情,我可以看到输出,如视频所示。(我确实选择了那个 pythonclient 文件夹作为根,如视频开头所述)。但我不知道我在这里做什么。我所关心的只是通过从 ATOM 或命令提示符运行我的程序来建立与 TWS 的简单连接,并在 excel 中获取该数据以供进一步计算。我认为继续获取实时数据并继续生成信号会更容易。

提前感谢您的帮助。

从@bhucho 编辑 问题:运行问题一次后无法看到输出,所有看到的是我们在原子本身中成功运行程序后看到的绿色刻度(ctrl + shift + b)。

4

0 回答 0