Skip to content

Commit 3d0d06a

Browse files
版本 1.1.0
更改所有 Instrument 为 Security update README
1 parent e27cf99 commit 3d0d06a

File tree

6 files changed

+64
-40
lines changed

6 files changed

+64
-40
lines changed

README.md

Lines changed: 26 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,15 @@
22
[![Maven Central](https://img.shields.io/maven-central/v/org.rationalityfrontline.ktrader/ktrader-broker-api.svg?label=Maven%20Central)](https://search.maven.org/search?q=g:%22org.rationalityfrontline.ktrader%22%20AND%20a:%22ktrader-broker-api%22)
33
[![Apache License 2.0](https://img.shields.io/github/license/ktrader-tech/ktrader-broker-api)](https://github.com/ktrader-tech/ktrader-broker-api/blob/master/LICENSE)
44

5-
[KTrader](https://github.com/ktrader-tech/ktrader) 量化交易平台的 Broker 统一接口。
5+
[KTrader](https://github.com/ktrader-tech/ktrader) 量化交易系统的 Broker 统一接口。
66
> 该项目不依赖于 KTrader 的任何其它项目,可以独立使用。
77
88
## 目标
99
以统一的方式调用各种交易 API,屏蔽不同 API 的具体调用细节,减少心智负担,降低开发成本,提高开发效率。
1010
> 目前主要针对中国国内市场(CTP & XTP)
1111
1212
## 使用说明
13-
该接口在设计上支持2种不同的使用方式:类库,插件。作为类库,直接添加依赖并使用即可。作为插件,会生成一个 ZIP 格式的压缩包插件,然后可以在运行时动态加载或卸载该插件,关于插件化技术请参考 [PF4J](https://github.com/pf4j/pf4j)
13+
该接口在设计上支持 2 种不同的使用方式:类库,插件。作为类库,直接添加依赖并使用即可。作为插件,会生成一个 ZIP 格式的压缩包插件,然后可以在运行时动态加载或卸载该插件,关于插件化技术请参考 [PF4J](https://github.com/pf4j/pf4j)
1414

1515
要实现该接口,需要继承并实现 [BrokerApi](https://github.com/ktrader-tech/ktrader-broker-api/blob/master/lib/src/main/kotlin/org/rationalityfrontline/ktrader/broker/api/BrokerApi.kt) 抽象类,并通过其成员属性 kEvent
1616
将各种推送事件(如 Tick,订单回报,成交回报等)发出。如果需要支持插件的使用方式,那么还需要继承并实现 [Broker](https://github.com/ktrader-tech/ktrader-broker-api/blob/master/lib/src/main/kotlin/org/rationalityfrontline/ktrader/broker/api/Broker.kt) 抽象类。
@@ -19,6 +19,30 @@
1919
## 已有的接口实现
2020
* [KTrader-Broker-CTP](https://github.com/ktrader-tech/ktrader-broker-ctp) CTP 实现(中国期货 & 期权)
2121

22+
## Download
23+
24+
**Gradle:**
25+
26+
```kotlin
27+
repositories {
28+
mavenCentral()
29+
}
30+
31+
dependencies {
32+
implementation("org.rationalityfrontline.ktrader:ktrader-broker-api:1.1.0")
33+
}
34+
```
35+
36+
**Maven:**
37+
38+
```xml
39+
<dependency>
40+
<groupId>org.rationalityfrontline.ktrader</groupId>
41+
<artifactId>ktrader-broker-api</artifactId>
42+
<version>1.1.0</version>
43+
</dependency>
44+
```
45+
2246
## License
2347

2448
Ktrader-Broker-API is released under the [Apache 2.0 license](https://github.com/ktrader-tech/ktrader-broker-api/blob/master/LICENSE).

lib/build.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ plugins {
88
}
99

1010
group = "org.rationalityfrontline.ktrader"
11-
version = "1.0.0"
11+
version = "1.1.0"
1212
val NAME = "ktrader-broker-api"
1313
val DESC = "KTrader Broker API"
1414
val GITHUB_REPO = "ktrader-tech/ktrader-broker-api"

lib/module.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
# Module KTrader-Broker-API
22

3-
[KTrader](https://github.com/ktrader-tech/ktrader) 量化交易平台的 Broker 统一接口
3+
[KTrader](https://github.com/ktrader-tech/ktrader) 量化交易系统的 Broker 统一接口

lib/src/main/kotlin/org/rationalityfrontline/ktrader/broker/api/BrokerApi.kt

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -66,14 +66,14 @@ abstract class BrokerApi(val config: Map<String, Any>, val kEvent: KEvent) {
6666

6767
/**
6868
* 批量订阅行情
69-
* @param codes 要订阅的标的代码集合
69+
* @param codes 要订阅的证券代码集合
7070
* @param extras 额外的参数,默认为 null
7171
*/
7272
abstract suspend fun subscribeMarketData(codes: Collection<String>, extras: Map<String, Any>? = null)
7373

7474
/**
75-
* 订阅单个标的行情
76-
* @param code 要订阅的标的代码
75+
* 订阅单个证券行情
76+
* @param code 要订阅的证券代码
7777
* @param extras 额外的参数,默认为 null
7878
*/
7979
open suspend fun subscribeMarketData(code: String, extras: Map<String, Any>? = null) {
@@ -82,22 +82,22 @@ abstract class BrokerApi(val config: Map<String, Any>, val kEvent: KEvent) {
8282

8383
/**
8484
* 批量取消订阅行情
85-
* @param codes 要取消订阅的标的代码集合
85+
* @param codes 要取消订阅的证券代码集合
8686
* @param extras 额外的参数,默认为 null
8787
*/
8888
abstract suspend fun unsubscribeMarketData(codes: Collection<String>, extras: Map<String, Any>? = null)
8989

9090
/**
91-
* 取消订阅单个标的行情
92-
* @param code 要取消订阅的标的代码
91+
* 取消订阅单个证券行情
92+
* @param code 要取消订阅的证券代码
9393
* @param extras 额外的参数,默认为 null
9494
*/
9595
open suspend fun unsubscribeMarketData(code: String, extras: Map<String, Any>? = null) {
9696
unsubscribeMarketData(listOf(code), extras)
9797
}
9898

9999
/**
100-
* 订阅全市场标的行情
100+
* 订阅全市场证券行情
101101
* @param extras 额外的参数,默认为 null
102102
*/
103103
abstract suspend fun subscribeAllMarketData(extras: Map<String, Any>? = null)
@@ -109,7 +109,7 @@ abstract class BrokerApi(val config: Map<String, Any>, val kEvent: KEvent) {
109109
abstract suspend fun unsubscribeAllMarketData(extras: Map<String, Any>? = null)
110110

111111
/**
112-
* 查询当前已订阅的标的
112+
* 查询当前已订阅的证券
113113
* @param useCache 是否优先查询本地维护的缓存信息,默认为 true
114114
* @param extras 额外的参数,默认为 null
115115
*/
@@ -124,19 +124,19 @@ abstract class BrokerApi(val config: Map<String, Any>, val kEvent: KEvent) {
124124
abstract suspend fun queryLastTick(code: String, useCache: Boolean = true, extras: Map<String, Any>? = null): Tick?
125125

126126
/**
127-
* 查询 [code] 的相关信息
127+
* 查询 [code] 的证券信息
128128
* @param useCache 是否优先查询本地维护的缓存信息,默认为 true
129129
* @param extras 额外的参数,默认为 null
130-
* @return 查询到的 [Instrument],如果未查询到,返回 null
130+
* @return 查询到的 [Security],如果未查询到,返回 null
131131
*/
132-
abstract suspend fun queryInstrument(code: String, useCache: Boolean = true, extras: Map<String, Any>? = null): Instrument?
132+
abstract suspend fun querySecurity(code: String, useCache: Boolean = true, extras: Map<String, Any>? = null): Security?
133133

134134
/**
135-
* 查询全市场标的的信息
135+
* 查询全市场证券的信息
136136
* @param useCache 是否优先查询本地维护的缓存信息,默认为 true
137137
* @param extras 额外的参数,默认为 null
138138
*/
139-
abstract suspend fun queryAllInstruments(useCache: Boolean = true, extras: Map<String, Any>? = null): List<Instrument>
139+
abstract suspend fun queryAllSecurities(useCache: Boolean = true, extras: Map<String, Any>? = null): List<Security>
140140

141141
/**
142142
* 查询资金账户的资产
@@ -199,7 +199,7 @@ abstract class BrokerApi(val config: Map<String, Any>, val kEvent: KEvent) {
199199

200200
/**
201201
* 下单
202-
* @param code 标的代码
202+
* @param code 证券代码
203203
* @param price 下单价格
204204
* @param volume 下单数量
205205
* @param direction 交易方向(做多/做空)
@@ -231,7 +231,7 @@ abstract class BrokerApi(val config: Map<String, Any>, val kEvent: KEvent) {
231231

232232
/**
233233
* 准备费用计算(保证金/手续费)
234-
* @param codes 要准备的标的
234+
* @param codes 要准备计算的证券代码
235235
* @param extras 额外的参数,默认为 null
236236
*/
237237
open suspend fun prepareFeeCalculation(codes: Collection<String>? = null, extras: Map<String, Any>? = null) {}

lib/src/main/kotlin/org/rationalityfrontline/ktrader/broker/api/constants.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
package org.rationalityfrontline.ktrader.broker.api
22

33
/**
4-
* 标的类型
4+
* 证券类型
55
*/
6-
enum class InstrumentType {
6+
enum class SecurityType {
77

88
/**
99
* 未知

lib/src/main/kotlin/org/rationalityfrontline/ktrader/broker/api/entities.kt

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import java.time.LocalDateTime
55

66
/**
77
* Tick
8-
* @param code 标的代码
8+
* @param code 证券代码
99
* @param time 产生时间
1010
* @param lastPrice 最新价
1111
* @param bidPrice 挂买价(买一,买二,买三 ...)
@@ -16,7 +16,7 @@ import java.time.LocalDateTime
1616
* @param turnover Tick 内的成交额
1717
* @param openInterest Tick 内的持仓量变动
1818
* @param direction Tick 的方向
19-
* @param status 标的当前的市场状态
19+
* @param status 证券当前的市场状态
2020
* @param preClosePrice 昨日收盘价
2121
* @param preSettlementPrice 昨日结算价
2222
* @param preOpenInterest 昨日持仓量
@@ -67,7 +67,7 @@ data class Tick(
6767
* Order
6868
* @param accountId 资金账号
6969
* @param orderId 订单 ID
70-
* @param code 标的代码
70+
* @param code 证券代码
7171
* @param price 订单价格
7272
* @param volume 订单数量
7373
* @param direction 订单交易方向
@@ -110,7 +110,7 @@ data class Order(
110110
* @param accountId 资金账号
111111
* @param tradeId 成交记录 ID
112112
* @param orderId 对应的订单 ID
113-
* @param code 标的代码
113+
* @param code 证券代码
114114
* @param price 成交价
115115
* @param volume 成交量
116116
* @param turnover 成交额(期货/期权是成交价*成交量*合约乘数)
@@ -137,11 +137,11 @@ data class Trade(
137137

138138
/**
139139
* 期货/期权保证金率
140-
* @param code 标的代码
141-
* @param longMarginRatioByMoney 多头保证金率(按金额)。当标的为期权时表示期权固定保证金
142-
* @param longMarginRatioByVolume 多头保证金(按手数)。当标的为期权时表示期权交易所固定保证金
143-
* @param shortMarginRatioByMoney 空头保证金率(按金额)。当标的为期权时表示期权最小保证金
144-
* @param shortMarginRatioByVolume 空头保证金(按手数)。当标的为期权时表示期权交易所最小保证金
140+
* @param code 证券代码
141+
* @param longMarginRatioByMoney 多头保证金率(按金额)。当证券为期权时表示期权固定保证金
142+
* @param longMarginRatioByVolume 多头保证金(按手数)。当证券为期权时表示期权交易所固定保证金
143+
* @param shortMarginRatioByMoney 空头保证金率(按金额)。当证券为期权时表示期权最小保证金
144+
* @param shortMarginRatioByVolume 空头保证金(按手数)。当证券为期权时表示期权交易所最小保证金
145145
* @param extras 额外数据
146146
*/
147147
data class MarginRate(
@@ -155,7 +155,7 @@ data class MarginRate(
155155

156156
/**
157157
* 手续费率
158-
* @param code 标的代码
158+
* @param code 证券代码
159159
* @param openRatioByMoney 开仓手续费率(按成交额)
160160
* @param openRatioByVolume 开仓手续费(按手数)
161161
* @param closeRatioByMoney 平仓手续费率(按成交额)
@@ -188,11 +188,11 @@ data class CommissionRate(
188188
)
189189

190190
/**
191-
* 标的信息
192-
* @param code 标的代码
193-
* @param type 标的类型
194-
* @param productId 标的产品 ID (仅期货/期权)
195-
* @param name 标的名称
191+
* 证券信息
192+
* @param code 证券代码
193+
* @param type 证券类型
194+
* @param productId 证券的产品 ID (仅期货/期权)
195+
* @param name 证券名称
196196
* @param priceTick 最小变动价格
197197
* @param isTrading 是否处于可交易状态
198198
* @param openDate 上市日
@@ -203,13 +203,13 @@ data class CommissionRate(
203203
* @param marginRate 保证金率
204204
* @param commissionRate 手续费率
205205
* @param optionsType 期权类型
206-
* @param optionsUnderlyingCode 期权对应的基础标的代码
206+
* @param optionsUnderlyingCode 期权对应的基础证券代码
207207
* @param optionsStrikePrice 期权行权价格
208208
* @param extras 额外数据
209209
*/
210-
data class Instrument(
210+
data class Security(
211211
val code: String,
212-
val type: InstrumentType,
212+
val type: SecurityType,
213213
val productId: String = "",
214214
val name: String,
215215
val priceTick: Double,
@@ -250,7 +250,7 @@ data class Assets(
250250
/**
251251
* 持仓信息
252252
* @param accountId 资金账号
253-
* @param code 标的代码
253+
* @param code 证券代码
254254
* @param direction 持仓方向
255255
* @param preVolume 昨日持仓量
256256
* @param volume 今日持仓量

0 commit comments

Comments
 (0)