主页 > imtoken冷钱包手机版 > 用pandas进行加密货币基金的投资分析

用pandas进行加密货币基金的投资分析

imtoken冷钱包手机版 2024-01-26 05:13:41

免责声明:投资有风险。 本文仅提供思路,不承担任何投资成败的后果。

灰度资本及其比特币基金GBTC日前在朋友圈被提及。 几个有兴趣的朋友问我要不要用养老金投资GBTC,怎么投资。 对于此类问题,我一般的回答是:投资有风险,入市需谨慎。

也就是说,因为我真的打算把我Roth IRA的20%投入到一个加密货币基金中,所以我在圣诞假期用pandas做了一点不太成熟的研究。

在阐述我的研究成果和策略之前,我想说:

如果你长期不看好主流加密货币,那么这篇文章应该算是一篇技术文章,里面的思路也适用于其他金融产品的分析。

如果你长期看好主流加密货币,并愿意自己持有加密货币(在自己的钱包里或在可信赖的交易所),那么你应该选择合适的机会自己购买加密货币,而不是灰度资本基金发行的加密货币. 这篇文章作为技术文章也不错。

如果你长期看好主流加密货币,但由于税收原因不愿持有或增持加密货币或担心持有风险,想看看相关基金gbtc股票代码,那么本文的思路可能是对你有帮助。

注:比特币目前处于历史高位,美国证券交易委员会最近对瑞波进行了重击。 整个加密货币市场存在较大的短期回调风险。 不要投入太多资金去追高。

背景知识

Grayscale Capital 是一家专门投资加密货币的基金。 其管理的基金产品可在其官网查看:

gbtc股票代码_转股代码是股票代码吗_配股代码和股票代码

其中,管理规模最大、知名度最高的当属Grayscale Bitcoin Trust。 基金投资者可以选择在投资锁定期结束后(目前为6个月)通过在二级市场(OTC)出售所持有的GBTC退出。 从上图可以看出,GBTC在12/24/2020的收盘价为27.32美元,每个GBTC包含0.00095059个比特币(NAV - Net Asset Value Per Share)。 从BTC-USD实时收盘价来看,为22.56美元(Greyscale官网计算为22.36美元,因为BTC是24小时交易,而GBTC跟随纳斯达克的交易时间交易,所以BTC的“收盘价”不同于雅虎财经),大约溢价 17.5%。 Grayscale Bitcoin Trust 募集的所有资金(或比特币),除扣除管理费外,将直接购买比特币,不会购买其他资产,因此理论上 GBTC 的交易价格应该围绕 NAV 波动,不会偏离太多.

可能有人会质疑,我直接买BTC不好吗? 为什么买GBTC还要收近1/5的智商税? 这里有很多原因:

交易风险。 就像你可以在私人交易中购买比特币,得到的价格比在 Binance 和 Coinbase 等交易所要低得多,但你仍然愿意支付更高的价格在这些交易所进行交易。

可购买性。 有些投资账户里的钱不能直接购买加密货币,比如你的个人养老金账户。

配股代码和股票代码_转股代码是股票代码吗_gbtc股票代码

税。 任何在美国的投资收益都会被课以重税。 如果买卖不超过一年,税金和其他收入将作为所得税计算,可以随意超过25%。

注意:GBTC 不是 ETF。 目前灰度发行的任何可以在二级市场交易的基金都不是ETF,其投资风险非常高。

好的,这就是背景。 更多详情请谷歌或到灰度官网查看。 我和灰度资本没有任何关系,我也没有持有任何灰度基金。 我只是出于实验目的在二级市场购买它们。 一点GBTC。

GBTC有哪些好的交易机会?

作为一个硬汉程序员,看到这样的问题,自然会想:那我们把所有的历史数据都拿出来,看看NAV和币价有什么关系?

实现这样的代码非常简单,我们需要一个python库:yfinance,用于获取雅虎财经上某只股票(基金、加密货币)的历史数据:

import yfinance as yf
def get_ticker_history(ticker, period='3y'): t = yf.Ticker(ticker) return t.history(period=period)

然后,你可以在 Jupyter 中调用它来获取 BTC 的历史价格(返回一个 pandas DataFrame):

转股代码是股票代码吗_配股代码和股票代码_gbtc股票代码

可以使用 mplfinance 库将此数据直接可视化为流行的烛台图表:

转股代码是股票代码吗_gbtc股票代码_配股代码和股票代码

同样,我们也可以将 GBTC 数据可视化:

配股代码和股票代码_gbtc股票代码_转股代码是股票代码吗

可以看出,这两种趋势之间存在很强的相关性。 简单计算收盘价与两者涨跌的相关性:

配股代码和股票代码_转股代码是股票代码吗_gbtc股票代码

def get_close_prices(crypto, stock):    df = pd.DataFrame({'Crypto Close': crypto['Close'], 'Stock Close': stock['Close']}).dropna()    comp = df.pct_change().dropna()    return pd.DataFrame({'Crypto Close': df['Crypto Close'],                         'Stock Close': df['Stock Close'],                         'Crypto Percent': comp['Crypto Close'],                         'Stock Percent': comp['Stock Close'],                         'Stock Gain': comp['Stock Close'] - comp['Crypto Close'],                         'Stock Outperform': comp['Stock Close'] > comp['Crypto Close'],                        }).dropna()

可以得到价格(收盘价)的相关系数为0.962,相关性很强,涨跌相关系数为0.7097,相关性比较强。

转股代码是股票代码吗_配股代码和股票代码_gbtc股票代码

你可能想知道,GBTC 比 BTC 好还是坏? 五年的数据告诉我们,GBTC的增速高于BTC的天数有599天,低于BTC的天数有659天。 但GBTC的平均增长率比BTC高0.05%。 一般来说,没有太大区别。

转股代码是股票代码吗_配股代码和股票代码_gbtc股票代码

OK,我们现在先来看看BTC和GBTC的相关性。

开胃之后,让我们进入正题:找到GBTC NAV和GBTC之间的关系。 从Grayscale的官网上,我们可以得出这样一个公式:

资产净值 = 比特币 * 0.00095059

我们只需要对齐BTC和GBTC的数据,计算出NAV和溢价比例:

import pandas as pd
def get_crypto_and_stock(crypto_ticker, stock_ticker, crypto_per_share, period='3y'): crypto = get_ticker_history(crypto_ticker, period=period) stock = get_ticker_history(stock_ticker, period=period) df = pd.DataFrame({'Value': crypto['Close'] * crypto_per_share}) df1 = pd.DataFrame({'Percent': (stock['Close'] - df['Value']) / stock['Close']}) df2 = stock.join([df, df1]).dropna()
# align crypto data and stock data to the same start date return (crypto[crypto.index >= df2.index[0]], df2)

让我们调用它来查看数据:

gbtc股票代码_转股代码是股票代码吗_配股代码和股票代码

该代码获取BTC和GBTC的历史数据,在GBTC的原始数据之上添加Value,对应NAV,Percent,对应GBTC对NAV的溢价占GBTC价格的百分比。

有了这些数据,我们只需使用 matplotlib 将其可视化:

gbtc股票代码_转股代码是股票代码吗_配股代码和股票代码

gbtc股票代码_转股代码是股票代码吗_配股代码和股票代码

本图上半部分为GBTC收盘价与NAV的对比。 两条线中间的部分是溢价区gbtc股票代码,时高时低。 下半年是溢价百分比,五年来最高达到59.5%,最低3%,25th-percentile 18.5%,75th-percentile 40.2%(我们在文章开头计算过,平安夜是17.5% , 低于 25%,记住这个数字)。

转股代码是股票代码吗_gbtc股票代码_配股代码和股票代码

我很好奇,历史极佳的买入点(min)和历史极佳的卖点(max)在哪里:

gbtc股票代码_转股代码是股票代码吗_配股代码和股票代码

果然,BTC的17年高位也是GBTC最疯狂的时刻,溢价接近60%; 而今年4月1日是历史最佳买入点,溢价仅为3.3%。 其实我们查一下数据可以发现,历史级别的好买点今年几乎都出来了(或者说2020年是十年一遇的投资机会),最后一个溢价低于8%的买入点是10月。 七号,你是不是觉得错过了一个亿?

转股代码是股票代码吗_配股代码和股票代码_gbtc股票代码

从统计的角度来看(假设 BTC 长期看涨 5-10 年),如果我们以低于 18.6%(第 25 个百分点)的溢价买入,我们将获得不错的回报。 为了证明这个假设,让我们看看如果我们以低于 18.6% 的所有历史溢价买入并持有到今年的回报率是多少(为了比较,我们还计算了与 SP500 相比的回报率)。 代码还是很简单的:

def buy_at_25(df, df_sp500, cost=10000):    buy_point = df['Percent'] <= df['Percent'].describe()['25%']    cur_price = df.iloc[-1]['Close']    cur_price_sp = df_sp500.iloc[-1]['Close']        shares = cost / df[buy_point]['Close']    shares_sp = cost / df_sp500[buy_point]['Close']    values = cur_price * shares    values_sp = cur_price_sp * shares_sp        df1 = pd.DataFrame({'Shares': shares,                        'Values': values,                        'Values SP': values_sp,                        'Percent': (values - cost) / cost,                        'Percent SP': (values - values_sp) / values_sp                       })    return df1

运行一下(我选择了投资SP500的ETF基金SPY作为参考):

转股代码是股票代码吗_gbtc股票代码_配股代码和股票代码

(这张图相对于SP500的回归有一个负数,所以我用了line而不是area)

可见,历史上所有的买点都获利了(废话)。 同样的买入点,与 SPY 的收益相比,25th-percentile 的收益高出 124%。 最糟糕的买入点出现在 2017/12/07,这是我们策略唯一输给 SPY 的策略。

抛开2017年导致超额回报(十倍、二十倍)的“上古时代”不谈,我们来看2019年初至今:

gbtc股票代码_转股代码是股票代码吗_配股代码和股票代码

出现的225个买入点,相对标普500都有惊人的回报。 其中,2019 年 2 月 5 日至 6 日,甚至有机会相对于 SP500 的回报率高出 400%。 即使是表现最差的买入点,2020/12/14,也比 SP500 上涨了 20.8%。

转股代码是股票代码吗_配股代码和股票代码_gbtc股票代码

事实上,直到今年 12 月,在 25 个百分点的买入点买入 GBTC 的回报率超过 100%。 就连12月出现的5个买点,回报也惊人:

gbtc股票代码_配股代码和股票代码_转股代码是股票代码吗

有没有突然发现12/24平安夜有个好买点? 当天 GBTC 的交易溢价“仅”17.5%,低于 25 个百分点。 我们将在几个月后回来查看它与 SP500 的比较情况。

再次声明,以上所有计算都是基于比特币长期看涨的前提。 如果遇到熊市,比如现在的价格就是今年3月18日的崩盘价:

gbtc股票代码_配股代码和股票代码_转股代码是股票代码吗

那么,我们用同样的策略之后,会发现,从2019年6月开始,几乎所有的买入行为都会导致亏损,甚至是非常严重的亏损,几乎是难以挽回的。 这也是为什么前几波总会告诉我们:投资有风险,入市需谨慎。

那么,ETHE等可交易基金,有哪些好的交易机会呢?

在一开始的图片中,我们可以看到灰度资本还有其他场外基金。 比如ETHE对应以太坊,BCHG对应比特币现金,LTCN对应莱特币等。其中,除了流通量大的ETHE外,其他板块很小,二级市场交易量为甚至更少,因此不建议触摸它。

我们还拿 ETH 的历史价格走势:

转股代码是股票代码吗_配股代码和股票代码_gbtc股票代码

以及ETHE的历史价格走势:

转股代码是股票代码吗_配股代码和股票代码_gbtc股票代码

似乎两者之间的相关性很弱。 计算表明,交易价格相关系数为0.45,涨跌相关系数为-0.068。

配股代码和股票代码_gbtc股票代码_转股代码是股票代码吗

让我们看看 ETHE 相对于 ETH NAV 的溢价:

转股代码是股票代码吗_gbtc股票代码_配股代码和股票代码

转股代码是股票代码吗_配股代码和股票代码_gbtc股票代码

第 25 个百分位数的溢价为 48%,相当惊人。 然而,即使在这种溢价下,收益率也比 SPY 好得多:

转股代码是股票代码吗_配股代码和股票代码_gbtc股票代码

再看看2020年的买入点,最差的时候比标普500强79%。 刚好翻了一倍多的收益,9月底到10月初还有很多票:

转股代码是股票代码吗_gbtc股票代码_配股代码和股票代码

但10月以来,ETHE与ETH NAV背离过大,近期溢价超过60%,买入风险很大,建议观望为主。

转股代码是股票代码吗_配股代码和股票代码_gbtc股票代码

因为ETHE的溢价一直处于历史较高水平,所以25th-percentile是48%。 实在难以想象二级市场的投资者为何会承受这样的溢价。 黑格尔说:存在就是理性。 先不讨论为什么会有这么高的溢价。 从统计的角度来看,溢价48%算是一个不错的买入点。

概括

本文介绍如何使用pandas进行投资分析。 感兴趣的朋友可以尝试运行文中描述的代码。 本文使用的策略(在加密货币基金二级市场交易价格溢价的25%以内买入)仅供初学者使用,您可以使用更保守的策略,例如15%,或更激进的策略策略,例如:30th-percentile。

GBTC 和 ETHE 的潜在买入价:

注:我根据BTC 24694和ETH 626计算出对应基金的潜在买入价; 50th-percentile 是一个非常不明智的购买价格,与掷骰子无异,在此发布以供比较。

转股代码是股票代码吗_配股代码和股票代码_gbtc股票代码

再次,如果你长期看好加密货币,但是因为各种原因买不到加密货币,只能退而求其次买灰度基金,这是一种在统计上可以长期赚钱的策略感觉。 但并不代表它在短期内可以赚钱,也不代表它是一个更好的策略(例如:它的表现肯定不如“比特币价格低于10000美元时买入GBTC”) ),但这似乎是一种更有效的策略。 可行的策略。

圣人时刻

我说的都是错的。 作为一个有统计基础,会写代码的程序员,应该自己计算验证。 另外,市场上99%的基金经理都不能长期跑赢SP500(>10年),别自以为聪明; 自己计算和验证自己的想法,那么你就可以克服这个市场上大部分的盲目和不开心。

如果您认为这篇文章对您有所启发,请捐赠。 大家圣诞快乐,新年快乐!