python库生成nakamoto系数
nakamoto的Python项目详细描述
nakamoto:量化分散化的python库
一个python库,用于测量扇区的nakamoto系数。 基于帖子"量化去翻译"
功能:
- Nakamoto系数测量
- 基尼系数测量
- 洛伦兹曲线绘图
- 分散化绘图(Lorenz+Nakamoto功能)
- 自定义+内置扇区(请参阅扇区部分)
安装说明
$ pip install nakamoto
运行测试
请确保注册plotly以获取api密钥,以及github api密钥。 运行下面的完整测试脚本不需要github和market url环境变量。
PLOT_NOTEBOOK=1 PLOT_IMAGE_PATH=image.png GITHUB_URL=Z python3 test.py
扇区
我们需要指定是否要在jupyter笔记本中运行此操作或保存绘图图像。 我们可以将配置保存在这样的字典中:
nakamoto_config = {
'plot_notebook': TRUE,
'plot_image_path': "image.png"
}
其中绘图笔记本
和绘图图像路径
是您使用的值。
自定义扇区
此模块允许传递要处理的numpy数据数组,以测量不平等分布(gini)和分散性
(Nakamoto系数)。我们使用customsector
来实现这一点。
我们可以通过以下命令生成基尼曲线和洛伦兹曲线的样本数据,该命令将2个泊松随机样本附加到 获取扭曲的数据集。我们还将在此命名一种货币,我们将使用它来表示。:
random_data=np.append(np.random.poisson(lam=10,size=40),np.random.poisson(lam=100,size=10))currency='ETC'
现在,我们将使用这些变量生成customsector
对象:
fromnakamoto.sectorimportCustomSectorcustom_sector=CustomSector(random_data,currency,'custom_sector_type',**nakamoto_config)
其中,"自定义扇区类型"是描述扇区类型的字符串。例如,如果我要传递到customsector
类是关于挖掘奖励的,我可以调用类型mining_rewards
为了首先得到基尼系数,我们运行以下命令:
gini=custom_sector.get_gini_coefficient()print(gini)
$ 0.5093952180028129535951653520
要获得Nakamoto系数,我们运行以下命令:
nakamoto=custom_sector.get_nakamoto_coefficient()print(nakamoto)
$ 7
要生成绘图仪并获取该图的url,我们运行以下命令:
$ pip install nakamoto
0
存储库
测量所有对特定存储库做出贡献的github贡献,并确定 存储库是如何分散的,需要多少开发人员才能破坏它。
要开始,首先需要获得a"github api key"
您还需要找到一个github存储库url,以便对其进行分散化分析。
在本例中,我将使用iohk的"mantis客户端",用于以太坊经典版。
$ pip install nakamoto
1
repository
类将自动为您分析github url数据,因此您只需调用。get_nakamoto_coefficient()
&;。在存储库上获取基尼系数
。它还支持.get_plot_url()
类似于customsector
市场
使用CoinMarketCap中特定货币的数据,通过加密货币交换测量交易量。 衡量某一特定数量的加密货币和 集中卷所需的最小交换量。
注意:您需要CoinMarketCap货币的市场链接。在本例中,我使用以太坊经典市场URL:
$ pip install nakamoto
2
生成Gini、Nakamoto和Lorenz曲线的方法与CustomSector
客户机
按客户使用情况衡量分散性。当前为组合的evm节点收集数据。未来的版本旨在分离数据
还有更多的硬币。目前,只有两种货币可以通过,分别是etc
和eth
。它只计算组合的evm节点。
未来的版本将在evm链之间分离,并将包括btc。拉请求欢迎!
$ pip install nakamoto
3
生成Gini、Nakamoto和Lorenz曲线的方法与CustomSector
地理位置
按国家衡量矿工权力下放。sames asclient
,用于组合evm节点的度量。未来的版本旨在分离
数据和更多的硬币。目前,只有两种货币可以通过,分别是etc
和eth
。它只计算组合的evm节点。
未来的版本将在evm链之间分离,并将包括btc。拉请求欢迎!
$ pip install nakamoto
4
生成Gini、Nakamoto和Lorenz曲线的方法与CustomSector
Nakamoto系数类
nakamoto
类可以接受上面创建的扇区列表,并可以生成分析
覆盖整个生态系统。
它返回两个值:
- Minimum Nakamoto:这是每个部门Nakamoto中的Minimum Nakamoto,根据 需要破坏它的实体数。
- 最大基尼:基尼系数最高,表示不平等分布最高的部门,表示集中点。 < > >
您还可以生成所有扇区的数据帧摘要。
$ pip install nakamoto
5
现在,让我们获取最大gini和相应的扇区id
$ pip install nakamoto
6
为了得到最小的nakamoto系数,我们执行.get_minimum_nakamoto()
方法。
$ pip install nakamoto
7
要获得Pandas数据帧摘要,请使用.summary()
方法。
$ pip install nakamoto
8