考慮交易成本的三角套利

之前給大家介紹了一下三角套利的原理,現(xiàn)在為大家奉上考慮交易成本的三角套利方法和代碼。

一咳榜、考慮交易成本情況下的策略調(diào)整

我們以第一個(gè)策略(正循環(huán)套利_掙CNY策略為例)夏醉。


圖:正循環(huán)套利(掙CNY)策略示意圖

我們?cè)O(shè)計(jì)的套利策略是被動(dòng)套利策略,具體來講涌韩,我們?cè)贚TC/BTC畔柔,LTC/CNY,BTC/CNY三個(gè)市場上都是作為taker去吃單臣樱。

在LTC/BTC市場上下買單靶擦,就必須使用該市場的賣一價(jià)格(ltc_btc_sell1_price)加上一定的滑點(diǎn)(ltc_btc_slippage,以百分比表示)來作為買單價(jià)格雇毫,即:

P3 = ltc_btc_sell1_price*(1+ltc_btc_slippage)

同理玄捕,在BTC/CNY市場下買單,就必須使用該市場的賣一價(jià)格(btc_cny_sell1_price)加上一定的滑點(diǎn)(btc_cny_slippage棚放,以百分比表示)來作為買單價(jià)格枚粘,即:

P1= btc_cny_sell1_price*(1+btc_cny_slippage)

同理,可以推導(dǎo)出在LTC/CNY市場下賣單的價(jià)格如下:

P2 = ltc_cny_buy1_price*(1-ltc_cny_slippage)

假設(shè)各個(gè)市場的費(fèi)率情況如下(以百分比表示):

LTC/BTC: ltc_btc_fee

BTC/CNY: btc_cny_fee

LTC/CNY: ltc_cny_fee

在LTC/BTC市場凈買入1個(gè)LTC飘蚯,實(shí)際上需要買入1/(1-ltc_btc_fee)個(gè)LTC馍迄,其中的ltc_btc_fee比例部分,是被交易平臺(tái)收走的手續(xù)費(fèi)局骤。買入1/(1-ltc_btc_fee)個(gè)LTC需要花費(fèi)的BTC數(shù)量是:

ltc_btc_sell_1_price*(1+ltc_btc_slippage)/(1-ltc_btc_fee)

在LTC/CNY市場攀圈,賣出1個(gè)LTC,得到的CNY是:

ltc_cny_buy_1_price*(1-ltc_cny_slippage)*(1-ltc_cny_fee)

在BTC/CNY市場峦甩,凈買入

ltc_btc_sell_1_price*(1+ltc_btc_slippage)/(1-ltc_btc_fee)

個(gè)BTC量承,實(shí)際上需要買入

ltc_btc_sell_1_price*(1+ltc_btc_slippage)/[(1-ltc_btc_fee)*(1-btc_cny_fee)]

個(gè)BTC,其中btc_cny_fee比例部分穴店,是被平臺(tái)收走的手續(xù)費(fèi)撕捍,而對(duì)應(yīng)需要花費(fèi)的CNY是:

btc_cny_sell_1_price*(1+btc_cny_slippage)*ltc_btc_sell_1_price*(1+ltc_btc_slippage)/[(1-ltc_btc_fee)*(1-btc_cny_fee)]

套利的前提條件是:得到的CNY > 花費(fèi)的CNY,即:

ltc_cny_buy_1_price*(1-ltc_cny_slippage)*(1-ltc_cny_fee)> btc_cny_sell_1_price*(1+btc_cny_slippage)*ltc_btc_sell_1_price*(1+ltc_btc_slippage)/[(1-ltc_btc_fee)*(1-btc_cny_fee)]

調(diào)整一下泣洞,對(duì)應(yīng)的套利條件就是:

ltc_cny_buy_1_price >btc_cny_sell_1_price*ltc_btc_sell_1_price*(1+btc_cny_slippage)*(1+ltc_btc_slippage) /[(1-btc_cny_fee)*(1-ltc_btc_fee)*(1-ltc_cny_fee)*(1-ltc_cny_slippage)]

考慮到各市場費(fèi)率都在千分之幾的水平忧风,做精度取舍后,該不等式可以進(jìn)一步化簡成:

(ltc_cny_buy_1_price/btc_cny_sell_1_price-ltc_btc_sell_1_price)/ltc_btc_sell_1_price

>btc_cny_slippage+ltc_btc_slippage+ltc_cny_slippage+btc_cny_fee+ltc_cny_fee+ltc_btc_fee

基本意思就是:只有當(dāng)公允價(jià)和市場價(jià)的價(jià)差比例大于所有市場的費(fèi)率總和再加上滑點(diǎn)總和時(shí)球凰,做三角套利才是盈利的狮腿。

如果價(jià)差滿足條件,交易數(shù)量上的計(jì)算規(guī)則如下:

先計(jì)算以下幾個(gè)值:

1. LTC/BTC賣方盤口吃單數(shù)量:ltc_btc_sell1_quantity*order_ratio_ltc_btc呕诉,其中l(wèi)tc_btc_sell1_quantity 代表LTC/BTC賣一檔的數(shù)量缘厢,order_ratio_ltc_btc代表本策略在LTC/BTC盤口的吃單比例

2. LTC/CNY買方盤口吃單數(shù)量:ltc_cny_buy1_quantity*order_ratio_ltc_cny,其中order_ratio_ltc_cny代表本策略在LTC/CNY盤口的吃單比例

3. LTC/BTC賬戶中可以用來買LTC的BTC額度及可以置換的LTC個(gè)數(shù):

btc_available - btc_reserve甩挫,可以置換成

(btc_available – btc_reserve)/ltc_btc_sell1_price個(gè)LTC

其中贴硫,btc_available表示該賬戶中可用的BTC數(shù)量,btc_reserve表示該賬戶中應(yīng)該最少預(yù)留的BTC數(shù)量(這個(gè)數(shù)值由用戶根據(jù)自己的風(fēng)險(xiǎn)偏好來設(shè)置,越高代表用戶風(fēng)險(xiǎn)偏好越低)英遭。

4. BTC/CNY賬戶中可以用來買BTC的CNY額度及可以置換的BTC個(gè)數(shù)和對(duì)應(yīng)的LTC個(gè)數(shù):

cny_available - cny_reserve, 可以置換成

(cny_available-cny_reserve)/btc_cny_sell1_price個(gè)BTC间护,

相當(dāng)于

(cny_available-cny_reserve)/btc_cny_sell1_price/ltc_btc_sell1_price

個(gè)LTC

其中:cny_available表示該賬戶中可用的人民幣數(shù)量,cny_reserve表示該賬戶中應(yīng)該最少預(yù)留的人民幣數(shù)量(這個(gè)數(shù)值由用戶根據(jù)自己的風(fēng)險(xiǎn)偏好來設(shè)置挖诸,越高代表用戶風(fēng)險(xiǎn)偏好越低)汁尺。

5. LTC/CNY賬戶中可以用來賣的LTC額度:

ltc_available – ltc_reserve

其中,ltc_available表示該賬戶中可用的LTC數(shù)量多律,ltc_reserve表示該賬戶中應(yīng)該最少預(yù)留的LTC數(shù)量(這個(gè)數(shù)值由用戶根據(jù)自己的風(fēng)險(xiǎn)偏好來設(shè)置痴突,越高代表用戶風(fēng)險(xiǎn)偏好越低)。

拿到上面5個(gè)值之后狼荞,對(duì)它們?nèi)∽钚≈蛋玻玫絃TC的數(shù)量,作為LTC/BTC市場的下單數(shù)量粘秆。然后如迟,根據(jù)LTC/BTC成交的數(shù)量,得到需要對(duì)沖的LTC數(shù)量和BTC數(shù)量攻走,分別在LTC/CNY和BTC/CNY市場下對(duì)沖單殷勘,所有市場先下限價(jià)單進(jìn)行對(duì)沖,超時(shí)之后補(bǔ)市價(jià)單昔搂,確保完全對(duì)沖玲销。

對(duì)最小交易單位的處理規(guī)則如下:

如果欲下單的LTC數(shù)量小于最小LTC交易單位(取LTC/BTC和LTC/CNY兩個(gè)市場的最小LTC交易數(shù)量的最大值)的某個(gè)倍數(shù)(比如2倍),則放棄本次套利;

如果欲下單的LTC數(shù)量對(duì)應(yīng)的BTC數(shù)量( LTC數(shù)量乘上系數(shù) ltc_btc_sell1_price)小于最小BTC交易單位(取LTC/BTC和BTC/CNY兩個(gè)市場的最小BTC交易數(shù)量的最大值)的某個(gè)倍數(shù)(比如2倍)摘符,則放棄本次套利贤斜。

二、 三角套利策略流程

(1) 初始化:

a) 在BTC/CNY市場放入如下資產(chǎn):

i. BTC:1個(gè)BTC, 最少預(yù)留20% (btc_reserve = 20%)

ii. CNY:2萬元逛裤,最少預(yù)留20% (cny_reserve = 20%)

b) 在LTC/CNY市場放入如下資產(chǎn):

i. LTC:100個(gè)LTC瘩绒,最少預(yù)留20% (ltc_reserve = 20%)

ii. CNY:2萬元,最少預(yù)留20% (cny_reserve = 20%)

c) 在LTC/BTC市場放入如下資產(chǎn):

i. LTC:100個(gè)LTC带族,最少預(yù)留20% (btc_reserve = 20%)

ii. BTC:1個(gè)BTC锁荔,最少預(yù)留20% (ltc_reserve = 20%)

(2) 套利條件:

如果

(ltc_cny_buy_1_price/btc_cny_sell_1_price-ltc_btc_sell_1_price)/ltc_btc_sell_1_price

>btc_cny_slippage+ltc_btc_slippage+ltc_cny_slippage+btc_cny_fee+ltc_cny_fee+ltc_btc_fee

則進(jìn)行正循環(huán)套利:


圖:正循環(huán)套利(掙CNY)策略示意圖

正循環(huán)套利的順序如下:

先去LTC/BTC吃單買入LTC,賣出BTC蝙砌,然后根據(jù)LTC/BTC的成交量阳堕,使用多線程,同時(shí)在LTC/CNY和BTC/CNY市場進(jìn)行對(duì)沖择克。LTC/CNY市場吃單賣出LTC恬总,BTC/CNY市場吃單買入BTC。

如果

(ltc_btc_buy_1_price-ltc_cny_sell_1_price/btc_cny_buy_1_price)/ltc_btc_buy_1_price

> btc_cny_slippage+ ltc_btc_slippage+ ltc_cny_slippage+btc_cny_fee+ltc_cny_fee+ltc_btc_fee

則進(jìn)行逆循環(huán)套利:


圖:逆循環(huán)套利(掙CNY)策略示意圖

逆循環(huán)套利的順序如下:

先去LTC/BTC吃單賣出LTC肚邢,買入BTC壹堰,然后根據(jù)LTC/BTC的成交量,使用多線程,同時(shí)在LTC/CNY和BTC/CNY市場進(jìn)行對(duì)沖缀旁。LTC/CNY市場吃單買入LTC记劈,BTC/CNY市場吃單賣出BTC勺鸦。

如果不滿足以上兩個(gè)條件并巍,則繼續(xù)等待套利機(jī)會(huì)。

(3)賬戶內(nèi)劃轉(zhuǎn)條件:

BTC/CNY, LTC/CNY, LTC/BTC各個(gè)市場的計(jì)價(jià)貨幣和基礎(chǔ)貨幣的存量降到最少預(yù)留比例(比如20%)或以下换途,觸發(fā)賬戶內(nèi)劃轉(zhuǎn)懊渡,劃轉(zhuǎn)的流程如下:

1) 撤銷LTC/BTC市場中尚未成交的委托

2) 撤銷BTC/CNY市場中尚未成交的委托,對(duì)委托未成交部分進(jìn)行市價(jià)補(bǔ)單

3) 跟2)并行军拟,撤銷LTC/CNY市場中尚未成交的委托剃执,對(duì)委托未成交部分進(jìn)行市價(jià)補(bǔ)單

4) 進(jìn)行賬戶內(nèi)劃轉(zhuǎn),劃轉(zhuǎn)結(jié)果如下:

BTC/CNY市場中的BTC = LTC/BTC市場中的BTC

LTC/CNY市場中的LTC = LTC/BTC市場中的LTC

BTC/CNY市場中的CNY = LTC/CNY市場中的CNY(這個(gè)目前是合并在一起的懈息,暫時(shí)沒問題肾档,如果是ETH,則需要保證ETH賬戶中的CNY = BTC賬戶中的CNY)

三辫继、 策略監(jiān)控和異常處理

我們先定義一個(gè)異常的處理方法怒见,稱為操作1,具體如下:

操作名:操作1

操作簡介:停止LTC/BTC下單姑宽,完成LTC/CNY及BTC/CNY的對(duì)沖遣耍,發(fā)報(bào)警,停止程序炮车。

操作流程:

a) 第一步:停止在LTC/BTC盤面下單舵变,撤銷該盤面未完全成交的委托單;

b) 第二步:對(duì)于LTC/CNY及BTC/CNY盤面的未完全成交的委托單瘦穆,進(jìn)行輪詢等待纪隙,超時(shí)之后,撤銷未成交的部分扛或,并用市價(jià)單進(jìn)行補(bǔ)單瘫拣,保證完全對(duì)沖;

c) 第三步:發(fā)出相應(yīng)的報(bào)警郵件

d) 停止策略

再定義一個(gè)異常處理方法告喊,稱為操作2麸拄,具體如下:

操作名:操作2

操作簡介:停止LTC/BTC下單,完成LTC/CNY及BTC/CNY的對(duì)沖黔姜,發(fā)報(bào)警拢切。

操作流程:

a) 第一步:停止在LTC/BTC盤面下單,撤銷該盤面未完全成交的委托單秆吵;

b) 第二步:對(duì)于LTC/CNY及BTC/CNY盤面的未完全成交的委托單淮椰,進(jìn)行輪詢等待,超時(shí)之后,撤銷未成交的部分主穗,并用市價(jià)單進(jìn)行補(bǔ)單泻拦,保證完全對(duì)沖;

c) 第三步:發(fā)出相應(yīng)的報(bào)警郵件

再定義幾個(gè)參數(shù)忽媒,如下:(注意:以下所有資產(chǎn)的總量包含可用部分和凍結(jié)部分争拐,包括LTC/BTC市場、LTC/CNY市場以及BTC/CNY市場)

CNY凈頭寸 =當(dāng)前CNY總量 – 初始CNY總量

BTC凈頭寸 =當(dāng)前BTC總量 – 初始BTC總量

LTC凈頭寸 =當(dāng)前LTC總量 – 初始LTC總量

策略的盈虧計(jì)算公式 = (當(dāng)前CNY總量 – 初始CNY總量)+ (當(dāng)前BTC總量 – 初始BTC總量)* 當(dāng)前BTC/CNY價(jià)格 + (當(dāng)前LTC總量 – 初始LTC總量)* 當(dāng)前LTC/CNY價(jià)格

CNY頭寸偏度 = ABS(BTC/CNY市場中的CNY - LTC/CNY市場中的CNY)/(BTC/CNY市場中的CNY + LTC/CNY市場中的CNY)晦雨,因?yàn)長TC和BTC市場共享統(tǒng)一的CNY架曹,所以本策略暫時(shí)不存在CNY頭寸偏度這個(gè)問題。

BTC頭寸偏度 = ABS(BTC/CNY市場中的BTC - LTC/BTC市場中的BTC)/( BTC/CNY市場中的BTC + LTC/BTC市場中的BTC)

LTC頭寸偏度 = ABS(LTC/CNY市場中的LTC - LTC/BTC市場中的LTC)/( LTC/CNY市場中的LTC + LTC/BTC市場中的LTC)

需要監(jiān)控的指標(biāo)和相應(yīng)流程如下:

1. 當(dāng)次盈虧監(jiān)控:如果策略虧損超過一定額度闹瞧,進(jìn)行“操作1”绑雄,然后調(diào)查虧損原因,明確之后再手動(dòng)重啟策略奥邮。

2. 凈頭寸監(jiān)控

a) CNY凈頭寸監(jiān)控:如果CNY凈頭寸的絕對(duì)值超過一定額度万牺,進(jìn)行“操作1”,然后調(diào)查產(chǎn)生凈頭寸的原因洽腺,明確之后再手動(dòng)重啟策略脚粟。

b) BTC凈頭寸:如果BTC凈頭寸的絕對(duì)值超過一定額度,進(jìn)行“操作1”已脓,然后調(diào)查產(chǎn)生凈頭寸的原因珊楼,明確之后再手動(dòng)重啟策略。

c) LTC凈頭寸:如果LTC凈頭寸的絕對(duì)值超過一定額度度液,進(jìn)行“操作1”厕宗,然后調(diào)查產(chǎn)生凈頭寸的原因,明確之后再手動(dòng)重啟策略堕担。

3. 頭寸偏度監(jiān)控

a) CNY頭寸偏度監(jiān)控:因?yàn)長TC和BTC市場共享統(tǒng)一的CNY已慢,所以本策略不存在這個(gè)問題。

b) BTC頭寸偏度監(jiān)控:如果BTC頭寸偏度超過一定幅度霹购,進(jìn)行“操作1”佑惠,然后進(jìn)行手動(dòng)頭寸調(diào)整,使得頭寸偏度為0齐疙,之后再手動(dòng)重啟策略

c) LTC頭寸偏度監(jiān)控:如果LTC頭寸偏度超過一定幅度膜楷,進(jìn)行“操作1”,然后進(jìn)行手動(dòng)頭寸調(diào)整贞奋,使得頭寸偏度為0赌厅,之后再手動(dòng)重啟策略

4. 未成交的對(duì)沖單數(shù)量監(jiān)控:如果未成交的對(duì)沖單(LTC/CNY市場未成交的委托單數(shù)量+BTC/CNY市場未成交的委托單數(shù)量之和)數(shù)量超過一定額度,進(jìn)行“操作2”

四轿塔、 需要注意的問題

1. LTC/BTC市場的單子是整個(gè)套利循環(huán)的起點(diǎn)特愿,在LTC/BTC市場中成交的單子仲墨,一定要到LTC/CNY和BTC/CNY市場同時(shí)進(jìn)行對(duì)沖。LTC/CNY和BTC/CNY市場的對(duì)沖單揍障,先嘗試以限價(jià)單掛出目养,不成交則逐漸修改價(jià)格至可以成交的價(jià)位,多次嘗試之后(超時(shí))如果仍有未成交部分毒嫡,則以市價(jià)單補(bǔ)單癌蚁,保證完全對(duì)沖。

2. 整個(gè)套利過程审胚,為了簡化價(jià)格轉(zhuǎn)換運(yùn)算匈勋,沒有考慮BTC/CNY市場的盤口深度礼旅,所以在估計(jì)BTC/CNY的對(duì)沖成本(btc_cny_slippage)時(shí)膳叨,需要結(jié)合最近BTC/CNY盤口的深度情況進(jìn)行調(diào)整。如果BTC/CNY盤口太薄痘系,則建議設(shè)置一個(gè)比較大的對(duì)沖成本(btc_cny_slippage)菲嘴。

3. 本文中所有的買一賣一價(jià)格,都是指進(jìn)行了盤口深度合并之后的價(jià)格汰翠。盤口深度合并的規(guī)則是:

a) LTC/BTC市場龄坪,按照0.0001的價(jià)格進(jìn)行合并(即一個(gè)價(jià)格檔位對(duì)于的比特幣為0.0001個(gè),約2元)复唤。買單向下合并健田,賣單向上合并。用數(shù)據(jù)表示如下:

合并前深度:

(asks)

0.010413 12

0.010412 20

0.010312 33

0.010112 13

(bids)

0.010109 45

0.009812 22

0.009812 10

0.009712 2

0.009612 30

合并后深度:

(asks)

0.0105 32

0.0104 33

0.0102 13

(bids)

0.0101 45

0.0098 32

0.0097 2

0.0096 30

所以本策略中的買一賣一的價(jià)格和數(shù)量佛纫,是已經(jīng)包含了未合并之前好幾檔的深度妓局。這樣的合并規(guī)則,保證我們?cè)谟?jì)算套利機(jī)會(huì)的時(shí)候呈宇,是偏保守的好爬。

以上就是在有成本的情況下進(jìn)行三角套利的全過程。代碼已上傳GitHub甥啄。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末存炮,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子蜈漓,更是在濱河造成了極大的恐慌穆桂,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,589評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件融虽,死亡現(xiàn)場離奇詭異享完,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)衣形,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,615評(píng)論 3 396
  • 文/潘曉璐 我一進(jìn)店門驼侠,熙熙樓的掌柜王于貴愁眉苦臉地迎上來姿鸿,“玉大人,你說我怎么就攤上這事倒源】猎ぃ” “怎么了?”我有些...
    開封第一講書人閱讀 165,933評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵笋熬,是天一觀的道長热某。 經(jīng)常有香客問我,道長胳螟,這世上最難降的妖魔是什么昔馋? 我笑而不...
    開封第一講書人閱讀 58,976評(píng)論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮糖耸,結(jié)果婚禮上秘遏,老公的妹妹穿的比我還像新娘。我一直安慰自己嘉竟,他們只是感情好邦危,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,999評(píng)論 6 393
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著舍扰,像睡著了一般倦蚪。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上边苹,一...
    開封第一講書人閱讀 51,775評(píng)論 1 307
  • 那天陵且,我揣著相機(jī)與錄音,去河邊找鬼个束。 笑死慕购,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的播急。 我是一名探鬼主播脓钾,決...
    沈念sama閱讀 40,474評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢(mèng)啊……” “哼桩警!你這毒婦竟也來了可训?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,359評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤捶枢,失蹤者是張志新(化名)和其女友劉穎握截,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體烂叔,經(jīng)...
    沈念sama閱讀 45,854評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡谨胞,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,007評(píng)論 3 338
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了蒜鸡。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片胯努。...
    茶點(diǎn)故事閱讀 40,146評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡牢裳,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出叶沛,到底是詐尸還是另有隱情蒲讯,我是刑警寧澤,帶...
    沈念sama閱讀 35,826評(píng)論 5 346
  • 正文 年R本政府宣布灰署,位于F島的核電站判帮,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏溉箕。R本人自食惡果不足惜晦墙,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,484評(píng)論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望肴茄。 院中可真熱鬧晌畅,春花似錦、人聲如沸独郎。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,029評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽氓癌。三九已至,卻和暖如春贫橙,著一層夾襖步出監(jiān)牢的瞬間贪婉,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,153評(píng)論 1 272
  • 我被黑心中介騙來泰國打工卢肃, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留疲迂,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,420評(píng)論 3 373
  • 正文 我出身青樓莫湘,卻偏偏與公主長得像尤蒿,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子幅垮,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,107評(píng)論 2 356

推薦閱讀更多精彩內(nèi)容