hi~ 又見面了
上次剛介紹完 用R來算 Optimal F
雖然有點不要臉  但這次主題是一樣的
只是改成用 Python 來算
哈哈~ 不過這也算是一個練習啦 
可以比較一下兩種程式語言

這是上一篇:

用R來計算Optimal F


##那我們開始吧!!

##以下是我的code 可以看一下喔~好像比較精簡?

import numpy as np

def OptimalF(PL):
    PL=PL[PL!=0]                                      # 防呆~ 先把是0的部份去掉
    if (sum(PL >= 0) == len(PL)):              # 這邊 R 裡面是用 length  PY的話就是用 len
        OptF = 1                                         
    else:
        BidF = np.arange(0, 1+0.01, 0.01)  #有用到 numpy 這個套件喔~ 不用的話新手小白實在不知怎麼寫XD
        TWR=[]
        ind=0
        for f in BidF: 

            ### 計算的核心是一樣的 只不過  連乘用cumprod  然後 次方的話 R是^  PYTHON 是 ** ..... 這邊小白卡了很久...... 

            ### 另外 我是用 list  所以 把資料塞進 list 的話就適用 append 這個函數!! 要記得喔~
            TWR.append(    (  ( 1+f*(-PL/min(PL))  ).cumprod()[len(PL)-1]   )**( 1/len(PL) )       )     
            ind=ind+1 
            OptF=BidF[TWR.index(max(TWR))]       #找出最優化的 下注比            

    return(OptF)  ## 回傳數值


最後測試一下 跟R的結果

這是PY出來的

這是R 出來的

看起來是OK的!!
那小白偷懶的更新就到這邊了><
下篇會在更努力啦~~

我們下次見囉~ 掰掰

 

 

 

arrow
arrow

    Markjong001 發表在 痞客邦 留言(0) 人氣()