python库生成nakamoto系数

nakamoto的Python项目详细描述


nakamoto logonakamoto:量化分散化的python库

一个python库,用于测量扇区的nakamoto系数。 基于帖子"量化去翻译"

nakamoto plot

功能:

  • 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

nakamoto plot 2

存储库

测量所有对特定存储库做出贡献的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节点收集数据。未来的版本旨在分离数据 还有更多的硬币。目前,只有两种货币可以通过,分别是etceth。它只计算组合的evm节点。 未来的版本将在evm链之间分离,并将包括btc。拉请求欢迎!

$ pip install nakamoto
3

生成Gini、Nakamoto和Lorenz曲线的方法与CustomSector

地理位置

按国家衡量矿工权力下放。sames asclient,用于组合evm节点的度量。未来的版本旨在分离 数据和更多的硬币。目前,只有两种货币可以通过,分别是etceth。它只计算组合的evm节点。 未来的版本将在evm链之间分离,并将包括btc。拉请求欢迎!

$ pip install nakamoto
4

生成Gini、Nakamoto和Lorenz曲线的方法与CustomSector

Nakamoto系数类

nakamoto类可以接受上面创建的扇区列表,并可以生成分析 覆盖整个生态系统。

它返回两个值:

  1. Minimum Nakamoto:这是每个部门Nakamoto中的Minimum Nakamoto,根据 需要破坏它的实体数。
  2. 最大基尼:基尼系数最高,表示不平等分布最高的部门,表示集中点。
  3. < > >

    您还可以生成所有扇区的数据帧摘要。

    $ pip install nakamoto
    
    5

    现在,让我们获取最大gini和相应的扇区id

    $ pip install nakamoto
    
    6

    为了得到最小的nakamoto系数,我们执行.get_minimum_nakamoto()方法。

    $ pip install nakamoto
    
    7

    要获得Pandas数据帧摘要,请使用.summary()方法。

    $ pip install nakamoto
    
    8

    nakamoto summary

    欢迎加入QQ群-->: 979659372 Python中文网_新手群

    推荐PyPI第三方库


热门话题
servlets Java EE+GlassFish:如果用户在其他地方登录,则强制用户注销   java在不更改源代码的情况下添加钩子   安卓 Java TextView Onclick()返回表达式错误   java Excel文件未使用Apache存储内部内存   java getRowCount()和getSelectedColumn()不起作用   无法在java中生成视图绑定。util。Android Gradle插件2.1的NoTouchElementException   Java中的类型转换运算符百分比计算为零   主java中的调用方法   java在Javasound中播放多个示例   java如何知道webDriver成功打开URL   java jmock,每次调用时返回新对象   eclipse使用Java在Selenium WebDriver中生成可执行文件   macos捆绑Java OS X应用程序默认为MacRoman编码   java我应该把我的休息网关变成一个图书馆吗?   java Eclipse插件:查找包含子字符串的行号无效   Java IOException:在Linux上发送UDP数据包时没有可用的缓冲区空间   java无法解析jaxbxjc2中的名称“xjc:globalJavaType”。2.52.罐子   java是否有HibernateAPI来检查是否创建了数据库?