Shopping Cart

購物車內沒有任何商品。

Python 理財程式小技巧 – 超重要的 Python 推薦命名習慣

一、前言

命名習慣非常重要!雖說 Python 沒有嚴謹到令人髮指的程度,但為了不要一秒惹怒共事的工程師,筆者這裡強烈建議因為理財才開始學習寫程式的初學者,養成良好的習慣,從最基礎但很重要的命名開始。

再次提醒,這裡為了讓初學者能快速理解,文章的用詞不一定足夠嚴謹,也參雜了一些來自個人經驗的描述。追求教科書式嚴謹定義的讀者還請自行翻閱教科書!

立即訂閱電子報,掌握最新資訊!

    稱呼

    電子郵件

    以下非必填,但若您願意分享,我們將能推送更精準的內容給您

    投資經驗

    是否為理工科背景、工程師或有寫程式的經驗?

    有興趣的主題
    量化交易台股期貨海外期貨虛擬貨幣美股

    有興趣的量化交易軟體/平台
    不清楚MultiChartsTradingViewPythonXQ

    想透過量化交易達成甚麼目的?
    不確定自動交易選股回測投資績效量化自己的投資方法想找現成的策略套用

    還有什麼想詢問的?

    20241111 1920 400
    20241111 978 258


    二、class 類別命名

    在 Python,依照筆者目前與工程師共事的經驗,class 命名一般是習慣用大駝峰式命名(Upper Case Camel)。大駝峰式是把每個字首大寫、其餘小寫的寫法,例如 UpperCaseCamel。

    此外,類別名稱會習慣用名詞,像 Java 一樣當作「物件」,而這個傢伙(類別)懂得做許多定義好的事情(屬性、函數等)。

    以下為一個簡單範例,類別名稱為 ExchangeAccount 非常簡單明瞭,就是交易所帳戶,命名規則為大駝峰式。

    帳戶餘額 balance 有 10,000 元,但是沒有股票代碼為 2330 的持倉部位。這個帳戶的密碼是 12341234。另外,它還有一個函數,存錢的時候可以呼叫,把存入的錢加到餘額 balance 上。

    class ExchangeAccount:
        def __init__(self):
            self.balance = 10000
            self.position = {"2330":0}
            self.password = “12341234”
        def deposit(self, amount: float):
            self.balance += amount

    Py 101209161710
    Py 101209161711

    三、def 函數命名

    與 class 類別不同,Python 的函數命名習慣用蛇形命名(Snake Case),也就是所有字母都用小寫,並且以半形底線做區隔。並且建議以動詞作為開頭。

    例如,我們接著上面的例子,設計一個函數 check_password,用來確認密碼是否輸入正確:

    class ExchangeAccount:
        def __init__(self):
            self.balance = 10000
            self.position = {"2330":0}
            self.password = “12341234”
        def deposit(self, amount: float):
            self.balance += amount    
        def check_password(self, pw):
            return True if pw == self.password else False

    三、變數命名

    Python 變數命名一般也是建議用蛇形命名。

    四、常數命名

    一般來說,Python 中表達為常數的變數,會使用「全部大寫」的蛇形命名。以上方的範例來說,我們可能會想要再定義一個變數來代表交易手續費率。那我們就可以寫成:

    FEE_RATE = 0.001425

    如果各位讀者用的是 VS Code 之類的 IDE,這些開發工具會很貼心地幫忙把這些類別、函數、變數、常數,塗上不同的顏色,閱讀起來相當方便!

    大家一起來養成好的寫程式習慣吧!


    加入LINE社群量化交易討論群」無壓力討論與分享!

    加入Discord 「量化交易討論群」即時獲取實用的資源!

    Write Together 101306261122
    Write Together 101306261121
    QP66
    QP66

    具備逾十年交易經驗,研究交易資產橫跨股票、債券、外匯、原物料,以及加密貨幣。現為量化避險基金交易員,亦曾任職於資金規模逾百億的避險基金,以及在區塊鏈企業擔任顧問一職。

    擅長從宏觀至微觀,由淺入深挖掘交易機會,並運用Python實現全自動化的投資組合管理。

    文章: 24

    發佈留言

    發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *