• <blockquote id="p4xxi"><xmp id="p4xxi">

    <em id="p4xxi"></em>
    <abbr id="p4xxi"><noframes id="p4xxi">
    <em id="p4xxi"></em>

    怎樣運用多因素策略來構建強大的加密資產投資組合

    摘要:具體的數據預處理涉及重復值、異常值/缺失值/極端值、標準化和數據頻率的處理。duplicated(subset=[key1,key2,duplicated(subset=[key1,key2,對數據范圍內的所有因子做出如下調整:該方法不足在于,量化領域常用的數據如股票價格、token價格常呈現尖峰厚尾分布,并不符合正態分布的假設,在該情況下采用方法將有大量數據錯誤地被識別為異常值。...

    前言

    書接上回,我們發布了《用多因子策略構建強大的加密資產投資組合》系列文章的第一篇 - 理論基礎篇,本篇是第二篇 - 數據預處理篇。

    在計算因子數據前/后,以及測試單因子的有效性之前,都需要對相關數據進行處理。具體的數據預處理涉及重復值、異常值/缺失值/極端值、標準化和數據頻率的處理。

    一、重復值

    數據相關定義:

    • 鍵(Key):表示一個獨一無二的索引。eg. 對于一份有全部token所有日期的數據,鍵是“token_id/contract_address - 日期”
    • 值(Value):被鍵索引的對象就稱之為“值”。

    診斷重復值的首先需要理解數據“應當”是什么樣子。通常數據的形式有:

    1. 時間序列數據(Time Series)。鍵是“時間”。eg.單個token5年的價格數據
    2. 橫截面數據(Cross Section)。鍵是“個體”。eg.2023.11.01當日crypto市場所有token的價格數據
    3. 面板數據(Panel)。鍵是“個體-時間”的組合。eg.從2019.01.01-2023.11.01 四年所有token的價格數據。

    原則:確定了數據的索引(鍵),就能知道數據應該在什么層面沒有重復值。

    檢查方式:

    1. pd.DataFrame.duplicated(subset=[key1, key2, ...])
    2. 檢查重復值的數量:pd.DataFrame.duplicated(subset=[key1, key2, ...]).sum
    3. 抽樣看重復的樣本:df[df.duplicated(subset=[...])].sample找到樣本后,再用df.loc選出該索引對應的全部重復樣本
    4. pd.merge(df1, df2, on=[key1, key2, ...], indicator=True, validate='1:1')
    5. 在橫向合并的函數中,加入indicator參數,會生成_merge字段,對其使用dfm['_merge'].value_counts可以檢查合并后不同來源的樣本數量
    6. 加入validate參數,可以檢驗合并的數據集中索引是否如預期一般(1 to 1、1 to many或many to many,其中最后一種情況其實等于不需要驗證)。如果與預期不符,合并過程會報錯并中止執行。

    二、異常值/缺失值/極端值

    產生異常值的常見原因:

    1. 極端情況。比如token價格0.000001$或市值僅50萬美元的token,隨便變動一點,就會有數十倍的回報率。
    2. 數據特性。比如token價格數據從2020年1月1日開始下載,那么自然無法計算出2020年1月1日的回報率數據,因為沒有前一日的收盤價。
    3. 數據錯誤。數據提供商難免會犯錯,比如將12元每token記錄成1.2元每token。

    針對異常值和缺失值處理原則:

    1. 刪除。對于無法合理更正或修正的異常值,可以考慮刪除。
    2. 替換。通常用于對極端值的處理,比如縮尾(Winsorizing)或取對數(不常用)。
    3. 填充。對于缺失值也可以考慮以合理的方式填充,常見的方式包括均值(或移動平均)、插值(Interpolation)、填0df.fillna(0)、向前df.fillna('ffill')/向后填充df.fillna('bfill')等,要考慮填充所依賴的假設是否合。
    4. 機器學習慎用向后填充,有 Look-ahead bias 的風險

    針對極端值的處理方法:

    1.百分位法。

    通過將順序從小到大排列,將超過最小和最大比例的數據替換為臨界的數據。對于歷史數據較豐富的數據,該方法相對粗略,不太適用,強行刪除固定比例的數據可能造成一定比例的損失。

    2.3σ / 三倍標準差法

    標準差 體現因子數據分布的離散程度,即波動性。利用 范圍識別并替換數據集中的異常值,約有99.73% 的數據落入該范圍。該方法適用前提:因子數據必須服從正態分布,即 。

    其中,, ,因子值的合理范圍是。

    對數據范圍內的所有因子做出如下調整:

    怎樣運用多因素策略來構建強大的加密資產投資組合

    該方法不足在于,量化領域常用的數據如股票價格、token價格常呈現尖峰厚尾分布,并不符合正態分布的假設,在該情況下采用方法將有大量數據錯誤地被識別為異常值。

    3.絕對值差中位數法(Median Absolute Deviation, MAD)

    該方法基于中位數和絕對偏差,使處理后的數據對極端值或異常值沒那么敏感。比基于均值和標準差的方法更穩健。

    絕對偏差值的中位數

    因子值的合理范圍是。對數據范圍內的所有因子做出如下調整:

    怎樣運用多因素策略來構建強大的加密資產投資組合

    三、標準化

    1.Z-score標準化

    • 前提:
    • 由于使用了標準差,該方法對于數據中的異常值較為敏感

    2.最大最小值差標準化(Min-Max Scaling)

    將每個因子數據轉化為在 區間的數據,以便比較不同規模或范圍的數據,但它并不改變數據內部的分布,也不會使總和變為1。

    • 由于考慮極大極小值,對異常值敏感
    • 統一量綱,利于比較不同維度的數據。

    3.排序百分位(Rank Scaling)

    將數據特征轉換為它們的排名,并將這些排名轉換為介于0和1之間的分數,通常是它們在數據集中的百分位數。*

    • 由于排名不受異常值影響,該方法對異常值不敏感。
    • 不保持數據中各點之間的絕對距離,而是轉換為相對排名。

    其中,, 為區間內數據點的總個數。

    怎樣運用多因素策略來構建強大的加密資產投資組合

    四、數據頻率

    有時獲得的數據并非我們分析所需要的頻率。比如分析的層次為月度,原始數據的頻率為日度,此時就需要用到“下采樣”,即聚合數據為月度。

    下采樣

    指的是將一個集合里的數據聚合為一行數據,比如日度數據聚合為月度。此時需要考慮每個被聚合的指標的特性,通常的操作有:

    • 第一個值/最后一個值
    • 均值/中位數
    • 標準差

    上采樣

    指的是將一行數據的數據拆分為多行數據,比如年度數據用在月度分析上。這種情況一般就是簡單重復即可,有時需要將年度數據按比例歸集于各個月份。

    相關推薦
    国产精品美女久久久久AV福利| 久久婷婷午色综合夜啪| 精品国际久久久久999波多野| 久久电影网2021| 久久精品国产清自在天天线| 久久国产香蕉一区精品| 性做久久久久久久久浪潮| 亚洲国产精品无码久久一区二区 | 久久精品国产亚洲一区二区| 久久综合综合久久97色| 欧美日韩中文字幕久久久不卡 | AV无码久久久久不卡蜜桃| 久久精品一本到99热免费| 国产AⅤ精品一区二区三区久久 | 国产成年无码久久久久毛片| 久久丝袜精品中文字幕| 日本精品久久久久中文字幕| 精品久久久久久无码中文字幕| av无码久久久久久不卡网站| 亚洲第一永久AV网站久久精品男人的天堂AV| 亚洲国产精品综合久久一线| 久久国产精品-久久精品| 欧美va久久久噜噜噜久久| 国产精品美女久久久久AV福利| 久久综合色区| 国产精品久久久久一区二区三区 | 久久精品www人人爽人人| 久久亚洲天堂| 久久无码人妻精品一区二区三区 | 麻豆AV一区二区三区久久| 久久精品国产一区二区电影| 国产成人久久AV免费| 久久综合欧美成人| 成人综合伊人五月婷久久| 深夜久久AAAAA级毛片免费看| 美女写真久久影院| 日韩精品久久久久久| 99精品久久精品一区二区| 无遮挡粉嫩小泬久久久久久久| 久久这里只有精品首页| 精品久久久久久中文字幕大豆网|