#IB TWS编程手记——00.TWS API准备工作

news/2024/10/22 17:31:42/

IB TWS是什么?

IB TWS是电子券商IB的量化交易API,是开发、研究自动量化交易算法的重要工具。关注过我的朋友,可能知道之前我曾经翻译过IB API的相关文档,但是由于平日工作实在太忙,这个工作完成1/3就鸽了,实在对不住各位朋友。

后来我想了想,不如把怎么使用IB API的方法直接告诉有兴趣的朋友,一些更深入的方法技术,可以在你掌握相关知识后,自己主动查找IB的开发文档,况且IB新一代的API更新很快,如果单纯的翻译开发文档,实在是用爱发电的项目。

盈透证券TWS系统

除了IB以外,我还有什么工具可以当作金融分析工具?

IB API的功能很强大,但是需要你去他们网站上开个户。虽然现在也能直接申请Paper Account,但是功能上是有些限制的。除此之外呢,对于Python开发者来说,则有很多开源工具可用,不过我分析过他们的数据来源,国内A股市场基本上是从网易和新浪扒来的,而国际市场的金融数据则是来自雅虎。

不知道同花顺有没有相关的API,有兴趣的可以查查。但是我个人觉得,无论从时效性,功能性,完整性来看,直接从电子券商IB那里拿数据是最有价值,和有用的。当然需要处理的工作量也不轻松。

IB支持哪些语言?

目前来看,IB支持的语言包含了主流的几大语言,基本囊括TIOBE前6的语言,也就是说,至少80%的程序员都可以用他们熟悉的一两种语言来开发属于自己的量化交易程序。

目前支持的语言有Python/C/CPP/Java/C#/VB,另外在v9.72版本的API上,又增加了Excel的支持(话说这是什么鬼?)我个人比较支持大家用C#或者Java作为开发语言,不过如果未来你需要增加比如说CUDA的运算支持,tensflow的智能支持,使用C#则会更加容易一些。

当然,如果你不追求高并发,那么直接使用Python是最方便的。

前期准备工作

想要使用TWS,需要先去册盈透证券的官网注册投资者账号,并且在账号开通后三个月内向你的投资人账号打款以激活账号,否则注册了账号而不打款,三个月后账户就会被注销掉,也意味着你不能使用TWS进行下一步的开发了。

当然,据我所知,比如雪球,还有其他一些国内的二级券商是有附带提供IB开户的功能。如果你身边有某个好朋友他已经开了IB的账户,那么你可以请他帮你开通一个Paper Account,也就是,模拟账户,可以使用很多与正常的交易账户一样的功能,但不会影响到正常账户的资金安全。

IB官网

注册了账户、打入资金后,就可以在盈透证券的官网下载TWS交易客户端,同时还有IB API。IB API目前提供有Linux,Windows,MacOS三个系统的版本,根据你自己擅长的系统和语言,选择对应的API进行下载就行。

我推荐大家建立一个虚拟机,把TWS客户端 下载到Linux或者Mac上,根据我的经验,放在Windows上因为安全策略的问题,会有一定几率导致你的代码无法正常运行,而本地客户端,既可以选择Windows,也可以选择Linux或者Mac。

如果你是Mac用户这个会变得无比简单。

选择的编程语言支持,我个人推荐 C#.NET 会十分方便。尽管笔者本人也会Java,Python等语言技术,但是C#真是一种用起来方便无比而且十分强大迅速的语言。

另一方面,因为API命名与使用方法基本一致,所以也就无所谓语言的优劣,对于你个人来说只要方便就好。

通信前准备

使用Windows编程,需要准备的是Visual Studio或者支持相关语言的开发工具和IDE,因为笔者用C#做这个项目,所以选择了Visual Studio。另一方面,因为Windows系统的限制,需要提前准备好程序的通信端口,并在防火墙、杀毒软件设置为打开。

然后启动你的TWS,输入用户名和密码,进入到主界面后,在Configuration里,找到API这一项。

一定要记得勾选“Enable ActiveX and Socket Clients”这个选项,此外在下方的“Trusted IPs”,要注意是否允许本地连接已经打开了,这个勾选后,默认127.0.0.1可以直接访问TWS,而其他地址,需要通过“Create”命令,加入到TWS的白名单里。

EnableActiveX

如何编程

请看我的下一篇文章《01.TWS建立基础连接》。


http://www.ppmy.cn/news/512796.html

相关文章

5、TWS API的故障排除和支持

故障排除和支持 API 文档包含所有 API 函数的完整描述。此外,API本身的源代码是免费分发的,是更深入地了解API工作原理的重要资源。如果在查看这些资源后仍有关于可用 API 功能的问题,API 支持组可以提供帮助。 重要的是要记住,IB无法提供编程帮助或提供有关如何编写自定…

TWS行业报告

1、苹果:接力iPhone,可穿戴成驱动力 结合苹果公司财报来看,可穿戴等其他产品(包括耳机、手表、音箱和配件等)收入规模已赶上MAC和 iPad,并且一直保持高速增长,2019Q2同比增长达48%,…

TWS 产业链

核心结论 Airpods系列TWS耳机成为TWS耳机的标杆。Airpods系列TWS耳机因其 通话稳定性以及长待机时间成为TWS耳机的标杆。安卓品牌产品受限于很多 基本技术问题长期以来体验不能满足基本需求的状况今年开始得到了很大改 善。 我们认为TWS耳机虽小但主控芯片设计和整机制造的门…

基于Java农产品仓库管理系统设计实现(源码+lw+部署文档+讲解等)

博主介绍: ✌全网粉丝30W,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战 ✌ 🍅 文末获取源码联系 🍅 👇🏻 精…

【CSS】flex布局使得一个元素向左靠齐,两个以上元素向右靠齐

先将父元素的布局方式设置为flex&#xff0c;并向右靠齐 结构代码 <view class"father">父元素<view class"left"><view><view class"right"><view> <view> .father {display: flex;justify-content: flex-…

Python基础语法练习2-The Hidden Word

文章目录 前言一、题目介绍二、代码展示1. 本人代码2. 优秀代码2.1 zip()2.2 zip_longest() 三、总结 前言 在checkio上又看到这么一个题&#xff0c;题目看似简单&#xff0c;而且难度设定是simple&#xff0c;我以为随便就能写出来&#xff0c;没想到for if了一堆…[#滑稽] …

一文看懂Transformer(详解)

文章目录 Transformer前言网络结构图&#xff1a;EncoderInput EmbeddingPositional Encoderself-attentionPadding maskAdd & NormFeed Forward Decoderinputmasked Multi-Head Attentiontest时的Decoder 预测 Transformer 前言 Transformer最初是用于nlp领域的翻译任务…

剑指OFFER

剑指 Offer 03. 数组中重复的数字 可以用map&#xff0c;set等方法&#xff0c;但是消耗大。时间空间都是O(n) 也可以先排序&#xff0c;再遍历.时间O(n*logn) 用辅助数组标记对应位置上出现的次数 因为限制了数字出现的范围&#xff0c;所以辅助数组的大小也可以确定 时间空间…