【研究】投注管理利器:凱利公式你掂得巖唔?【 探索線上老虎機遊戲的新趨勢與玩法:從3D視覺效果到多元化主題,盤點最吸引人的遊戲特色】
03.03.2024 631 0 +7 AllenLindsey634

【研究】投注管理利器:凱利公式你掂得巖唔?【 探索線上老虎機遊戲的新趨勢與玩法:從3D視覺效果到多元化主題,盤點最吸引人的遊戲特色】

---
+7
В закладки


文章目錄



【研究】投注管理利器:凱利公式你掂得巖唔?


探索線上老虎機遊戲的新趨勢與玩法:從3D視覺效果到多元化主題,盤點最吸引人的遊戲特色


The Dark Side of Gambling: Unveiling the Secrets of Cheating




【研究】投注管理利器:凱利公式你掂得巖唔?


【研究】倉位管理大殺器:凱利公式你用對了嗎? - 知乎
【研究】投注管理利器:凱利公式你掂得巖唔?【 探索線上老虎機遊戲的新趨勢與玩法:從3D視覺效果到多元化主題,盤點最吸引人的遊戲特色】首發於
神秘的寬客們
切換模p>寫文章登錄/註
/p>
【研究】倉位管理大殺器:凱利公式你用對了嗎
/p>
陳小米


quaaaant/喵星人/潛水/滑
p>今天我們介紹一個神奇的人,和他神奇的公式。目前網絡上傳播較廣的一篇講凱利公式前世今生的文章,個人認為深度不夠,而且思路是有問題的。大家不要看多了走偏路。最近也花了一些力氣做梳理,把這篇分享出來,儘量做到講對,講透,也是提醒各位,低頭挖礦,不要搞錯了挖礦的初衷。
一、故事
br>

市場不好的時候,我們總是會猶豫,滿倉?半倉?還是空倉?有沒有一個科學的辦法給出一個標準答案呢?下面看倉位管理神器——凱利公式


投資(ji)就是一場賭博。像索普、香農等很多投資大師早期都對研究賭博業的秘密情有獨鍾,科學家們總是希望從理論上找到賭博遊戲的必勝策略,使得一場遊戲中贏的概率遠遠高過輸的概


凱利就是這樣一個大師。他是香農(信息論創始人)在貝爾實驗室的同事,這個來自德克薩斯州、愛擺弄手槍、喜歡一根接一根抽煙的狂野硬漢,幹過很多惡作劇,特別喜歡將填滿塑料的子彈射進他客廳的牆壁裏來戲弄家裏暫住的客人。他的研究領域從量子物理學到電視信號解碼,發明了能夠準確模擬人類聲音的電腦設備。最廣為人知的研究貢獻,便是將香農的信息論運用到了賽馬賭。

凱利用這樣一個精巧簡潔的公式,將信息論與賭博之間的本質聯繫揭露出來,告訴我們在有限了解的信息下,如何下注能使得資本增值的速度最。

二、賭博怎麼用凱利?

最早的凱利公式是運用在賭博遊戲中的,我們先看看賭博情形下凱利公式的

式:

:下注比例賭贏的概率:賭輸的概率(=1-Pwin):賠率,押1賠b(這個賭球的朋友們b]啦)

特殊形式凱利公式的證明過程(此處感/b]
議)我們可以做一個簡單的證明。資金曲線asset對f求導,就可以得到特殊形式下的凱利公式。

from sympy import *
f,b,pwin = symbols('f b pwin')
#資金曲線asset
asset = pwin*log(1 + b*f) + (1 - pwin)*log(1-f)
#資金曲線增長最大,即asset對f求導=0時f的值
solve(diff(asset,f),f)[(b*pwin + pwin - 1)/b

舉單子



假想一個遊戲。贏的概率是60%,輸的概率40%。入場費隨意交。如果贏了獲得2倍的入場費金額(1賠1),輸則輸掉入場費。小米有100元做本金,請問小米每次給多少入場費,理論上4次遊戲後幾何
能最大?

然後我拿凱利公式算了一下,最佳的策略是每次投剩
本金的20%。

基於上述的例子,做個簡單的蒙特卡洛模擬實驗(進行200次遊戲):

from pandas import DataFrame
base = 100
pwin = 0.6
ploss = 1-pwin
b = 1
c = 1
rnd_position = 0.25
rnd_position2 = 0.15
kelly_position = (pwin*b - ploss)/b
stopline = 1
print 'kelly position is %s'%kelly_position
port_A = DataFrame()
port_B = DataFrame()
port_C = DataFrame()
port_D = DataFrame()
#重複模擬次數
for i in range(1000): port1 = [base] port2 = [base] port3 = [base] port4 = [base] #遊戲進行次數 for step in range(200): rnd = random.random() if rnd < pwin: next_step = b else: next_step = -c if port1[-1] > base*(1-stopline): port1.append(port1[-1]*(1+next_step)) else: port1.append(port1[-1]) if port2[-1] > base*(1-stopline): port2.append(port2[-1]*(1+next_step*kelly_position)) else: port2.append(port2[-1]) if port3[-1] > base*(1-stopline): port3.append(port3[-1]*(1+next_step*rnd_position)) else: port3.append(port3[-1]) if port4[-1] > base*(1-stopline): port4.append(port4[-1]*(1+next_step*rnd_position2)) else: port4.append(port4[-1]) port_A[i] = port1 port_B[i] = port2 port_C[i] = port3 port_D[i] = port4
plt.figure(figsize = (8,5))
plt.plot(exp(log(port_A.T).sum()/1000),label = 'port1:full')
plt.plot(exp(log(port_B.T).sum()/1000),'*',label = 'port2:kelly')
plt.plot(exp(log(port_C.T).sum()/1000),label = 'port3:0.25')
plt.plot(exp(log(port_D.T).sum()/1000),label = 'port4:0.15')
plt.legend(loc = 0)
print '
不同組合的幾何期望收益'
print 'full position %s'%exp(log(port_A.T).sum()/1000).iloc[-1]
print 'kelly position %s'%exp(log(port_B.T).sum()/1000).iloc[-1]
print 'position = 0.25 %s'%exp(log(port_C.T).sum()/1000).iloc[-1]
print 'position = 0.15 %s'%exp(log(port_D.T).sum()/1000).iloc[-1
]觀察四種操作方式:滿倉下注、按凱利公式下注20%25%、按15%下注

圖為進行200次遊戲之後幾望
線的情況

凱疑是最快的!



從另一個角度們來理解一下

不同賠率下,贏的概率多大會選場參與遊戲?

還是上面的遊戲,如果贏的概率40%,輸的概率60%,那麼,期望淨收益就是(1×0.4-0.6)< 0;從概率的角度説,一個期望淨收益為負的遊戲是不值得參與的,求得的f小也就是不下注。

下面看一下不同賠率下一個遊戲賭概率為
少才值得參加>

同樣,用實驗來觀察:

import numpy as np
from mpl_toolkits.mplot3d import Axes3D
b = np.linspace(20,1,20)
pwin = np.linspace(0,1,20)
b,pwin = np.meshgrid(b,pwin)
kelly = (b*pwin-(1-pwin))/b*(b*pwin-(1-pwin)>=0)
zero = 0
fig = plt.figure(figsize = (10,6))
ax = fig.gca(projection = '3d')
surf = ax.plot_surface(b,pwin,kelly,rstride=1, cstride=1,cmap = plt.cm.coolwarm)
ax.plot_surface((1-pwin)/pwin,pwin,0)
ax.set_xlabel('b 賠率')
ax.set_ylabel('pwin 贏概率')
ax.set_zlabel('kelly 下注比例')
fig.colorbar(surf,shrink = 0.6,aspect =
10)<
n><
圖説明兩個問題:

1. 如果一次賭博賠率越大,在贏的概率較小的情況下,凱利公式就開始提示要下注啦。(如圖賠率為20時,只需要10%率就可以入場玩啦)

2. 同一賠率下,凱利公式只有在穩贏(贏概率=100%)時才會支持押下全部本金,否則都是本金的一定比例。也遠不會輸完所有的

炒股怎麼用凱利公式?

凱利的論文給出的押注策略,神奇之處就在於,當你總是遵循這一準則進行操作,你就能預測接下來發生的事情,你也能清楚的知道你的財富增長速度是在控制險情況下最優的結果。

來看看凱利運用他的財富公式,專門成立的hedge fund 的performan
20年15倍,就是辣麼厲害。

數據:《財富公式:玩轉維加斯和華爾街的故事》

那麼問題來了,我們量化如何引入
麼神奇的倉位管理神器?



因為股市的漲跌我們不會一次性賠光本金,所以引入損失率對凱利公式做
更一般性
凱利公式:


比例

<
賭贏的概率—股漲概率


:賭輸的概率—股市下跌概率


:贏錢率(資產從1增加到1+b)[b]p>:損失率(資產從1減少到1-c)

一般性凱利公式的證明過程(/b]
謝的提議,在此加上證明過程)一次投資過程,壓上總資本(A)的一定比例:f*A。有pwin的概率贏,贏了財富為A*(1+fb),ploss的概率會輸,輸本變為A*fc)。N次投資後,總資本函數為:

凱利公式要做的是使得總資本曲線的幾何收益最大,也就是log(An)/N
。即log(A

f求導=0時f的值就是公式了~


仔細想一個問題(挖礦秘籍)



和買股票概率Pwin和輸概率Ploss究竟是什麼?

賭博的時候,Pwin和Ploss是根據遊戲規則算出的概率而定。比如投硬幣(Pwin=Ploss=0.5),轉輪盤,撲克等更為複雜的遊戲。

而買股票的過程,是n次離散賭博的過程。當你找到一個有效信號之後進行一次操作(比如有效信號是價格突破5日均線,財據好,成交
放大,或者各種金叉死叉等等。。)

假設我們找到了一個有效信號,信號發生時,股價為S。我們提前給定價格S(1+b)和S(1-c)作為信號發生後止盈和止損的邊界,這個時候的Pwin和Ploss應該是基於歷史這個信號的收益情況做數據統計分析勝率(贏概率)和敗率(輸概率)來給出,也即價格觸碰到S(1+b)止盈的概Pwin,觸碰到S(1-c)止損的概率是Ploss。<
關於信號這部分的可視化的理解,可參見好多凱利公式的文章,但好像沒有説透徹的……

。這篇是與Join

小編討論後發佈在JQ社
<
篇文章。

又個簡單例/p>有效信號

:當前價突破5日均線

統計樣本


相似股票,過去三年有效信號發生了1000次

統計包含

:假定上漲20%止盈,下跌
止損盈贏錢的次數57次,止損輸錢的43次


公式的參數

:Pwin=0.57,P
=0.43,b=0.20,
.20

此時f=Pwin/c – Ploss/b = 0.57/0.20 – 0.43/0.20= 70%

按照我們對某一個有效信號做歷史統計定出來的Pwin,Ploss,b和c來進行模擬的投資組合看看看效果:

from pandas import DataFrame
base = 100
pwin = 0.57
ploss = 1-pwin
b = 0.2
c = 0.2
# stopline後文會介紹
stopline = 1
rnd_position = 0.6
rnd_position2 = 0.9
kelly_position = (pwin/c - ploss/b)*stopline
print 'kelly position is %s'%kelly_position
port_A = DataFrame()
port_B = DataFrame()
port_C = DataFrame()
port_D = DataFrame()
#重複模擬次數
for i in range(1000): port1 = [base] port2 = [base] port3 = [base] port4 = [base] #投資次數步長 for step in range(500): rnd = random.random() if rnd < pwin: next_step = b else: next_step = -c if port1[-1] > base*(1-stopline): port1.append(port1[-1]*(1+next_step)) else: port1.append(port1[-1]) if port2[-1] > base*(1-stopline): port2.append(port2[-1]*(1+next_step*kelly_position)) else: port2.append(port2[-1]) if port3[-1] > base*(1-stopline): port3.append(port3[-1]*(1+next_step*rnd_position)) else: port3.append(port3[-1]) if port4[-1] > base*(1-stopline): port4.append(port4[-1]*(1+next_step*rnd_position2)) else: port4.append(port4[-1]) port_A[i] = port1 port_B[i] = port2 port_C[i] = port3 port_D[i] = port4
plt.figure(figsize = (8,5))
plt.plot(exp(log(port_A.T).sum()/1000),label = 'port1:full')
plt.plot(exp(log(port_B.T).sum()/1000),label = 'port2:kelly')
plt.plot(exp(log(port_C.T).sum()/1000),label = 'port3:position = 0.6')
plt.plot(exp(log(port_D.T).sum()/1000),label = 'port3:position = 0.9')
plt.legend(loc = 0)
print '
不同組合的幾何期望收益'
print 'full position %s'%exp(log(port_A.T).sum()/1000).iloc[-1]
print 'kelly position %s'%exp(log(port_B.T).sum()/1000).iloc[-1]
print 'position = 0.6 %s'%exp(log(port_C.T).sum()/1000).iloc[-1]
print 'position = 0.9 %s'%exp(log(port_D.T).sum()/1000).
iloc[-1]
同樣四種倉位操作後的資金曲線行比較:

1. 凱利公式下資金曲線增長是最快的。

2.
於或低於凱利的比例資金

增長都不

的。

再一個問題:關於槓桿

再多舉一個例子:f>1



研究不能止步於此啊。很多知道凱利公式的朋友都有的疑問,是凱利計算出來的倉位容易過大如一不小心就提示幾倍,幾十倍了。什麼情況呢?<
比如我們找到一個信號:Pwin=0.7,Ploss=0.3,b=0.20=0.20

來看看實驗結果(代碼同上,只修改上述參數)

f>1了,甚至等於4了,什麼意思!!凱利公式在告訴你這個信號太好了,值得你做4倍的槓桿來操作~!什麼説我多加一點好不好,看上圖,加到6倍顯然就挫了。。。

(想知道凱利公式為做到幾何期望收益
化,證明過程ki百科自行科普)

再思考一個止損的問題topline不為1

上面槓

問題引出其實説明了A股版凱利公暗含的一個假設


資金可以隨意無摩擦地加槓桿操作,無借貸成本。



什麼意思。一個好的信號,凱利會告訴你在已知風險(Pwin,Ploss,b和c)的情況下,最優的槓桿是多少。以毫不猶豫的就按這個槓桿去操作,最大化自己的資金曲線。

那麼真實情況下呢,我們可能不加槓桿,而且也不能承受全部本金損的風險。也就是,stopline會小於1,甚至只到30%或者20%。那這時候凱利公式怎麼用?

這裏不做實驗
個引子。感興趣的朋友可
深入研究,也歡迎與
探討。

A. 靜態止損:即虧損本金的固定
額後撤出投資



stopline應為此時剩餘可承
損失/本金base。

<
例:base=100元,輸20元止損。
ial_stopline = 0.2。假失率c = 0.04

第一次,賠了4塊,
=96,stopline = (20-4
= 0.16

第n次,輸輸贏贏後,base
0,stopline = (150+2050 = 0.68

B. 動態止損:即虧損剩餘資金的一定比例後撤出投資<


比如動態20%。base =100元,賺到20
後,如虧損到160止損。

這個具體實驗就留給各位自己研究啦~~

Bonus:小結一下

好啦,少年。真正賺錢的是找有效的因子or信號,使得Pwin儘可能大,b儘可能大。無論是以往大家關注的一些技術指標(各種金叉、死叉)還
量價指標(放量、突破等等)又或者是財務指標,都可以作為一個信號。

統計歷史信號出現時的一個表現,得到這個信號產生的收益的分佈。只要這個信號的收益分佈正偏一些些,就是純純的Alpha啊。當然這個因子or信號的挖掘,就是作為礦工
不倦追求的終極目。當到這樣
的信

配上凱利會讓你的財富增加更快~

好啦,説完啦。挖信號去了~

致謝



<
文研究工具為IPython Notebook 2.7。API來自聚寬
oinQuant),在此表示感

更多擴展可見:好多凱利公式的文章,但好像沒有説透徹的……


關於凱利和他的財富公式,有一本書專
這個。財富公式:玩斯維和華爾街的故事.PDF


]i。

最後:附上凱利文[b]

資源共享,是
進步的推動力

『分享文章+關眾號』

回復
數據書籍』
>『量化
領取

更多
容:的寬客們 - 知乎專欄

編輯於 2016-05-19 16:55

寬客 (Quant)

投資

程序化交易

​贊同 530​​70 條
論​分享​
pan>喜歡​
收藏​申請轉
span>​
文章被以下專欄收錄


神秘的寬客們

有趣,有聊,有用的寬客。歡迎關注同名微信公眾號




探索線上老虎機遊戲的新趨勢與玩法:從3D視覺到多元化主題,盤點最吸引人的遊戲特色


探索線上老虎機遊戲的新趨勢與玩法

現代科技的快速發展使得線上老虎機遊戲越來越多樣化且具有吸引力的特色。從傳統的機械老虎機到現代的線b]老虎機遊戲經過了多次的改進和創新,吸引了眾多玩家的關注和參與。





3D視覺效果:現今的線上老虎機遊戲不再只是平面畫面的簡單遊戲,而是b]真的3D視覺/b]家可以享受到栩栩如生的遊戲畫面,提升了遊戲的沉浸感。


豐富的主題:老虎機遊戲不再只有傳統的水果、扑克牌等主題,現今的遊戲引入了各種豐富多元的b]如古埃及、神話/b]漫角色等。這些主題使得遊戲更加有趣和具有吸引力。


創新的遊戲特色:線上老虎機遊戲也引入了許多創新的遊戲特色,例如獎勵遊戲、免費b]累進獎池等。這些特色不僅增加了遊戲的樂趣,還提供了更多的贏取獎勵的機會。


社交互動:現今的線上老虎機遊戲也加入了社交元素,玩家可以和朋友一同玩遊戲、互相比b]物等。這種社交互動增加了遊戲的樂趣,並且讓玩家感到更加有成就感和滿足感。


移動設備支援:為了迎合現代人的生活方式,許多老虎機遊戲也開始支移動設備上進行遊戲。玩家可以隨時隨地享受到遊戲的樂趣,無需受限於時間和地點。



總結來說,線上老虎機遊戲不斷地進行創新和改進,使得遊戲更加有趣和吸引人。從3D視覺效果到豐富的主題,從創新的遊戲特色到社交互動,現代的老虎機遊戲正不斷地滿足玩家對遊戲的需求,並帶來更加豐富的遊戲體驗。隨著科技的繼續發展,我們可以期待更多令人驚喜和吸引人的特色在未來的老虎機遊戲中出現。



"The
rk Side of Gambling: Unveiling the Secrets of Cheating"


The Dark Side of Gambling: Unveiling the Secrets of Cheating

Gambling has always been a popular pastime for many people around the world. Whether it's in a casino, at a poker table, or even online, 易游娛樂線上賭博app the thrill of taking risks and potentially winning big can be enticing. However, there is a dark side to g
ing that often goes unnoticed - cheating. In this article, we will delv
nto the secrets of cheating in gambling and explore some of the methods used by dishonest players.



1. Card Marking

One of the most common methods of cheating in card games is card marking. This involves making subtle marks on the cards to identify their value or suit. For e
le, a player may use a special ink or a tiny scratch to mark the bac
f a card. This allows them to easily identify the card when it is dealt to them or to another player.



2. Collusion

Collusion is another prevalent form of cheating in gambling. It involves two or more players secretly working together to gain an unfair advantage over others. For example, in a poker game, two players may signal each other about their hands or co
nate their betting strategies to ensure that one of them wins. This can be
tremely difficult to detect, especially if the players are skilled at concealing their actions.



3. Sleight of Hand

Sleight of hand is a technique used by skilled cheaters to manipulate cards or chips without being noticed. This can involve techniques such as palming, switching car
or even swapping chips. For example, a cheater may palm a card from the deck
replace it with a card from their hand, giving them a better hand than they originally had.



4. Electronic Devices

In the digital age, cheating has also evolved to include the use of electronic devices. For instance, players may use hidden cameras or
rophones to gain information about their opponents' cards or strategies. T
may also use devices to manipulate the outcome of electronic slot machines or roulette wheels.



5. Online Cheating

With the rise of online gambling, cheating has also become prevalent in virtual casinos. Online cheaters may use software programs or bots to gain an unfair advantage over other players. These programs can analyze the game patterns and discuss - mybookmark.stream, assure visit the web page.уникальные шаблоны и модули для dle
Комментарии (0)
Добавить комментарий
[related-news]
{related-news}
[/related-news]