Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

比特币期货做市 #6

Open
lhsfcboy opened this issue Oct 4, 2017 · 5 comments
Open

比特币期货做市 #6

lhsfcboy opened this issue Oct 4, 2017 · 5 comments

Comments

@lhsfcboy
Copy link
Owner

lhsfcboy commented Oct 4, 2017

  • 基本概念

做市策略(market-maker strategy)是一种风险中立(risk-neutral)盘口价差套利策略。其基本原理是:在盘口的卖一和买一价之间,插入委买单和委卖单,如果插入的两个单子都成交的话,做市商就吃到了买卖单之间的价差,而整个过程结束后,做市商所持有的头寸并没有变化。如果买卖单之间的价差扣除各种交易手续费之后还有盈余,那么该做市商就获得了相应的盈利。

做市策略是一种增加交易所流动性的策略,一般来讲,成熟的交易市场为了提升自身的流动性,会用低佣金(甚至为做市商提供流动性奖励金)的办法,吸引做市商来该市场做市。

  • 做市策略需要注意的事项

1 做市时机的选择。做市商本质上是整个市场的交易对手方。如果市场呈现急剧的单边行情,做市商下达的买卖委托单会大概率出现单边成交的情况,因此做市商手中就会积累大量的风险头寸,这是做市商不想承担的风险。因此,做市商在选择是否下达做市指令之前,都会预判一下市场的趋势明显程度,如果市场短期内呈现非常明显的趋势信号,做市商就会相应地减少自己的做市单数量(甚至停止做市)

2 净头寸的处理。做市商手中累计的净头寸,可以通过很多种办法来处理,下面列举其中两种:

(1)在下一次做市时,处理掉累积的净头寸。比如做市商目前净头寸有2BTC,下次做市时,他就可以下达一个卖3BTC的委卖单,一个买1BTC的委买单。这种做法好处是净头寸可以及时得到处理,坏处是净头寸处理的时机(价格)可能不是最优的。

(2)第二种方法是开立另外一个独立的程序,对累积的净头寸进行成本计算,然后按照成本价*(1+一定比例的手续费+一定比例的profit margin),将该头寸反向甩出市场,甩出方法又有两种:a. 按限价单从价优到价劣依次甩出市场,超时不成交的部分则撤单,等待下次机会;b. 先按限价单从价优到价劣依次甩出市场,超时不成交的部分,则按市价单甩货。第一种方法的好处是甩货成本可控,但是甩货周期可能会拖得比较长;第二种方法则能有效地控制甩货周期,但是成本不可控,孰优孰劣,需要做市商根据自己的风险偏好慎重考虑。

  • 期货换合约(移仓)的处理

期货合约都有一个到期日,在到期日结束时刻的前几个小时,我们不建议做市商继续做市,而是利用这几个小时,将即将到期的期货合约进行移仓。移仓的意思就是平掉当前期货合约的仓位,然后再开同样仓位大小的下周合约。当然,移仓也是需要考虑成本的。如果当前持仓是多头,那么我们希望移仓的时间点是在下周期货贴水最厉害的时候;反之,我们则希望移仓的时间点是在下周期货升水最厉害的时候。等移仓做完以后,做市策略继续恢复执行。

@lhsfcboy
Copy link
Owner Author

lhsfcboy commented Oct 4, 2017

@lhsfcboy
Copy link
Owner Author

期现套利
https://zhuanlan.zhihu.com/p/25531575

Dual Thrust策略
https://xueqiu.com/5256769224/32429363

经典的程序化交易策略
https://www.zhihu.com/question/38776286

Bitflyer的交易环境

流动性

貌似bitflyer的期货市场流动性几乎为0啊,
有啥折价的机会呢?

API

目前bitFlyer提供了

手续费

https://bitflyer.jp/commission#bitcoin-fees

  • 现货: 0.15%
  • 期货(暂行):0

ビットコイン送付手数料 0.0005 BTC
建玉スワップポイント 0.04% の支払/日

11:00 満期日を迎えた Futures 取引停止
11:30 新しい満期日の Futures 取引開始
12:00 BTC 現物板の板寄せ
12:05 BTC 現物板の一本値(SQ)確定
16:00 BTC 現物板で決定した SQ による差金決済

@lhsfcboy
Copy link
Owner Author

期限套利的基本思路阐述

1月1日, 现货市场价格为100, 0105BTC期货价格为110,
以100价格买入1单位BTC,同时卖出一份期货合约,入手110
持有1单位BTC并在1月5日卖出

0.背景问题

  • 日元的成本计算?
    • 以年利10%推算的日利单利 0.00 02 81
    • 直接约为0
  • 其他的交易手续费
    -- 现货市场
  • 现有市场交易笔数,也就是交易频率是怎么变化的?
    -- 原则上流动性充分时套利空间应当较小

1, 检测期货市场是否有稳定的挂单?

  • 如何定义稳定?
  • 以1BTC单位的市价交易价格
  • 仓位的20%

@lhsfcboy
Copy link
Owner Author

//是否需要创建一个订单类
def parent_order{
side:buy/sell
price:0
type:market/limit
quantity:
childorderlist:
exchange:
}

// 成交结果
def execution_report{
parentorder: //原订单

executed_percentage: //已成交百分比
executed_quantity: //已成交数量
executed_quantity: //已成交金额
execution_list:
}

// 估算某订单立即执行的结果
execution_estamation(order, execution_report):{
left = amount
while left >0:
if ticksize<= left
left = left - ticketsize

}
//e.g. 如果现有市场上

//价差观察函数
每次价格更新就检查一下

@lhsfcboy
Copy link
Owner Author

分系统1
行情抓取系统

抓取Ticket数据等等,
储存至MongoDB?
用作将来的历史测试和
行情分析系统的实时分析

分系统2
行情分析系统
数据源1 本地的数据库
数据源2 WebAPI实时数据
差距足够大吗?

分系统3
决策订单系统

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant