Hi there, I am a crypto analyst and here to share my daily blockchain insights.

项目分析:Let Me Speak
摘要总结:-机会: 第一款语言类L2E App,目前未有竞争对手。-风险:项目没有披露团队信息;项目没有披露融资信息;项目没有正式的白皮书,代币经济模型不成熟; 活跃的NFT用户太少,Lstars代币筹码集中; 英语学习场景扩展受限,用户增长不及预期。-结论:风险大于机会,项目还处于非常早期,不确定性大,代币经济模型不成熟,建议谨慎参与。如果对学习感兴趣,可以参与免费角色或在能承受亏损对范围购买NFT学习,不建议投入太多资金。需再观察一段时间,待项目披露更多信息再决定是否投入更多资金参与。一、项目基本面分析1.项目简介LET ME SPEAK,这是诞生于SOLANA链上的一个项目,它的出圈,靠的是SOLANA链上另一款火爆的move to earn 的项目STEPN(代币GMT)而带火。LET ME SPEAK是一个全新的英语学习方式,边玩、边学、边赚。让学习英语变得有趣、有益且人人皆可使用,且终极愿景是语言学习元宇宙。官网:https://www.letmespeak.org/APP(IOS):bit.ly/lms_ios应用演示:bit.ly/lms_betaSOLscan ...

项目分析:Astar Network
摘要总结:机会:波卡生态上的跨链龙头,目前链上数据相对健康,为EVM+Wasm的技术核心竞争力,未来打通Layer0的Cosmos,Layer1公链,Layer2 ZK-Roll up、Optimism,想象空间比较大,Build 2 Earn的创新激励模式,且背后有著名VC融资背书以及与微软深度合作。风险:波卡在Layer0的流动性及价值捕获的能力不及预期,或比其他Layer2的扩容解决方案替代,以太坊共识层合并完成会进一步巩固其领先优势,且Scalability问题已解决,会对Astar的发展造成影响。结论:长远来看,机会>风险,长期矛盾是Layer0技术层面的演变及Astar在Layer0到Layer2的多链推进是否顺利,保持观察Astar及波卡生态市值、锁仓量、价值捕获等指标的变化。短期来看,风险<机会,短期矛盾是加息周期带来的市场下行风险,其影响力大于项目发展基本面。投资操作上,等待合适价位在开始定投参与。一、项目基本信息1.项目简介什么是Astar Network?Astar Network(原为Plasm Network),是基于波卡的多链虚拟机 DApp 中心...
【项目调研】波卡生态上的企业级去中心化云存储项目 | CESS
项目介绍Cumulus Encrypted Storage System (CESS) 旨在成为第一个用于企业级商业应用的去中心化云存储。它是基于 Substrate 开源框架开发的高速、安全、可扩展的去中心化云存储网络,由区块链、存储网络、内容分发网络和应用层四层网络组成。一、项目介绍Cumulus Encrypted Storage System (CESS) 旨在成为第一个用于企业级商业应用的去中心化云存储。它是基于 Substrate 开源框架开发的高速、安全、可扩展的去中心化云存储网络,由区块链、存储网络、内容分发网络和应用层四层网络组成。CESS 采用随机选取轮值共识节点机制来对网络资源和负荷进行协调,并通过多副本可恢复存储证明(PoDR²)、多类型数据确权(MDRC)、去中心化代理重加密等机制来保证数据的完整、安全、可溯源以及隐私性。此外,CESS 将兼容 EVM 以及 WASM。以实现其为 Web3 和大型商业应用构建安全高效的去中心化存储网络。项目于2021年12月获得波卡全球黑客松亚太区第一名,并通过Web3基金会Grant的所有三个里程碑,并已获得Web3基...

项目分析:Let Me Speak
摘要总结:-机会: 第一款语言类L2E App,目前未有竞争对手。-风险:项目没有披露团队信息;项目没有披露融资信息;项目没有正式的白皮书,代币经济模型不成熟; 活跃的NFT用户太少,Lstars代币筹码集中; 英语学习场景扩展受限,用户增长不及预期。-结论:风险大于机会,项目还处于非常早期,不确定性大,代币经济模型不成熟,建议谨慎参与。如果对学习感兴趣,可以参与免费角色或在能承受亏损对范围购买NFT学习,不建议投入太多资金。需再观察一段时间,待项目披露更多信息再决定是否投入更多资金参与。一、项目基本面分析1.项目简介LET ME SPEAK,这是诞生于SOLANA链上的一个项目,它的出圈,靠的是SOLANA链上另一款火爆的move to earn 的项目STEPN(代币GMT)而带火。LET ME SPEAK是一个全新的英语学习方式,边玩、边学、边赚。让学习英语变得有趣、有益且人人皆可使用,且终极愿景是语言学习元宇宙。官网:https://www.letmespeak.org/APP(IOS):bit.ly/lms_ios应用演示:bit.ly/lms_betaSOLscan ...

项目分析:Astar Network
摘要总结:机会:波卡生态上的跨链龙头,目前链上数据相对健康,为EVM+Wasm的技术核心竞争力,未来打通Layer0的Cosmos,Layer1公链,Layer2 ZK-Roll up、Optimism,想象空间比较大,Build 2 Earn的创新激励模式,且背后有著名VC融资背书以及与微软深度合作。风险:波卡在Layer0的流动性及价值捕获的能力不及预期,或比其他Layer2的扩容解决方案替代,以太坊共识层合并完成会进一步巩固其领先优势,且Scalability问题已解决,会对Astar的发展造成影响。结论:长远来看,机会>风险,长期矛盾是Layer0技术层面的演变及Astar在Layer0到Layer2的多链推进是否顺利,保持观察Astar及波卡生态市值、锁仓量、价值捕获等指标的变化。短期来看,风险<机会,短期矛盾是加息周期带来的市场下行风险,其影响力大于项目发展基本面。投资操作上,等待合适价位在开始定投参与。一、项目基本信息1.项目简介什么是Astar Network?Astar Network(原为Plasm Network),是基于波卡的多链虚拟机 DApp 中心...
【项目调研】波卡生态上的企业级去中心化云存储项目 | CESS
项目介绍Cumulus Encrypted Storage System (CESS) 旨在成为第一个用于企业级商业应用的去中心化云存储。它是基于 Substrate 开源框架开发的高速、安全、可扩展的去中心化云存储网络,由区块链、存储网络、内容分发网络和应用层四层网络组成。一、项目介绍Cumulus Encrypted Storage System (CESS) 旨在成为第一个用于企业级商业应用的去中心化云存储。它是基于 Substrate 开源框架开发的高速、安全、可扩展的去中心化云存储网络,由区块链、存储网络、内容分发网络和应用层四层网络组成。CESS 采用随机选取轮值共识节点机制来对网络资源和负荷进行协调,并通过多副本可恢复存储证明(PoDR²)、多类型数据确权(MDRC)、去中心化代理重加密等机制来保证数据的完整、安全、可溯源以及隐私性。此外,CESS 将兼容 EVM 以及 WASM。以实现其为 Web3 和大型商业应用构建安全高效的去中心化存储网络。项目于2021年12月获得波卡全球黑客松亚太区第一名,并通过Web3基金会Grant的所有三个里程碑,并已获得Web3基...
Hi there, I am a crypto analyst and here to share my daily blockchain insights.
Subscribe to 不确定性守恒
Subscribe to 不确定性守恒
Share Dialog
Share Dialog
<100 subscribers
<100 subscribers
https://bbs.quantclass.cn/thread/12369

def calculate(df, parameters, **kwargs):
"""
计算单个币种的因子
这边坚决不能进行去重或者删除空值等删除某行的操作
:param df: 需要计算的币种数据
:param parameters: 参数
:param kwargs: 额外的参数
:return:
"""
N1,N2=parameters
DMA=df['close'].rolling(window=N1).mean()-df['close'].rolling(window=N2).mean()
df['{}_{}'.format(factor_name, parameters)]=DMA
df['{}MA_{}'.format(factor_name,parameters)]=DMA.rolling(window=N1).mean()
return df
def batch_parameters():
"""
生成遍历的参数
:return:
"""
listp = [2, 3, 5, 9, 14, 23, 36, 57, 93]
while len(listp)<20:
_par=int(listp[-1]/0.8)
listp.append(_par)
parameters_list = []
for short in listp:
for long in listp:
if short < long:
parameters_list.append([short, long])
return parameters_list
当DMA值上穿其移动平均线时买入
def event_strategy(df, params, **kwargs):
"""
计算事件
:param df: 数据
:param params:
:return:
"""
event_name = '{}_{}'.format(strategy_name,params) # 策略名称
#-----long-------------
#条件1,DMA上穿其均线,买入
con1=df['DMA_{}'.format(params)]>df['DMAMA_{}'.format(params)]
#条件2,上一周期,DMA在均线下
#短线对应SMI
df['DMA_shift_{}'.format(params)] = df.groupby('symbol')['DMA_{}'.format(params)].shift()
#长线对应SMIMA
df['DMAMA_shift_{}'.format(params)] = df.groupby('symbol')['DMAMA_{}'.format(params)].shift()
con2=df['DMA_shift_{}'.format(params)] < df['DMAMA_shift_{}'.format(params)]
df.loc[con1 & con2, event_name] = 1
return df









import pandas as pd
factor_name = 'DMA'
def special_data(candle_df, symbol, agg_dict, **kwargs):
"""
导入额外的数据
:param candle_df: 基础数据
:param symbol: 币种名
:param agg_dict: 转换周期的字典
:return:
"""
return candle_df, agg_dict
def batch_parameters():
"""
生成遍历的参数
:return:
"""
listp = [2, 3, 5, 8, 13, 21, 34, 55, 89]
while len(listp)<20:
_par=int(listp[-1]/0.8)
listp.append(_par)
parameters_list = []
for short in listp:
for long in listp:
if short < long:
parameters_list.append([short, long])
return parameters_list
def calculate(df, parameters, **kwargs):
"""
计算单个币种的因子
这边坚决不能进行去重或者删除空值等删除某行的操作
:param df: 需要计算的币种数据
:param parameters: 参数
:param kwargs: 额外的参数
:return:
"""
N1,N2=parameters
DMA=df['close'].rolling(window=N1).mean()-df['close'].rolling(window=N2).mean()
df['{}_{}'.format(factor_name, parameters)]=DMA
df['{}MA_{}'.format(factor_name,parameters)]=DMA.rolling(window=N1).mean()
return df
def cross_section_calculate(df, parameters, **kwargs):
"""
计算截面因子的函数
:param df: 所有币种的数据
:param parameters: 参数
:param kwargs: 额外的参数
:return:
"""
df['{}_{}_排名' .format (factor_name, parameters)] = df.groupby('candle_begin_time')['{}_{}'.format(factor_name,parameters)].rank(ascending=False, method='first')
return df
# 事件需要的因子
factors = ['DMA']
# 事件的名称名
strategy_name = 'DMA&event' # 名称和程序文件名相同,不能含有_
def batch_parameters():
"""
生成遍历的参数
:return:
"""
listp = [2, 3, 5, 8, 13, 21, 34, 55, 89]
while len(listp)<20:
_par = int(listp[-1]/0.8)
listp.append(_par)
parameters_list = []
for short in listp:
for long in listp:
if short < long:
parameters_list.append([short, long])
return parameters_list
def event_strategy(df, params, **kwargs):
"""
计算事件
:param df: 数据
:param params:
:return:
"""
event_name = '{}_{}'.format(strategy_name,params) # 策略名称
#-----long-------------
#条件1,DMA上穿其均线,买入
con1=df['DMA_{}'.format(params)]>df['DMAMA_{}'.format(params)]
#条件2,上一周期,DMA在均线下
#短线对应SMI
df['DMA_shift_{}'.format(params)] = df.groupby('symbol')['DMA_{}'.format(params)].shift()
#长线对应SMIMA
df['DMAMA_shift_{}'.format(params)] = df.groupby('symbol')['DMAMA_{}'.format(params)].shift()
con2=df['DMA_shift_{}'.format(params)] < df['DMAMA_shift_{}'.format(params)]
df.loc[con1 & con2, event_name] = 1
return df
https://bbs.quantclass.cn/thread/12369

def calculate(df, parameters, **kwargs):
"""
计算单个币种的因子
这边坚决不能进行去重或者删除空值等删除某行的操作
:param df: 需要计算的币种数据
:param parameters: 参数
:param kwargs: 额外的参数
:return:
"""
N1,N2=parameters
DMA=df['close'].rolling(window=N1).mean()-df['close'].rolling(window=N2).mean()
df['{}_{}'.format(factor_name, parameters)]=DMA
df['{}MA_{}'.format(factor_name,parameters)]=DMA.rolling(window=N1).mean()
return df
def batch_parameters():
"""
生成遍历的参数
:return:
"""
listp = [2, 3, 5, 9, 14, 23, 36, 57, 93]
while len(listp)<20:
_par=int(listp[-1]/0.8)
listp.append(_par)
parameters_list = []
for short in listp:
for long in listp:
if short < long:
parameters_list.append([short, long])
return parameters_list
当DMA值上穿其移动平均线时买入
def event_strategy(df, params, **kwargs):
"""
计算事件
:param df: 数据
:param params:
:return:
"""
event_name = '{}_{}'.format(strategy_name,params) # 策略名称
#-----long-------------
#条件1,DMA上穿其均线,买入
con1=df['DMA_{}'.format(params)]>df['DMAMA_{}'.format(params)]
#条件2,上一周期,DMA在均线下
#短线对应SMI
df['DMA_shift_{}'.format(params)] = df.groupby('symbol')['DMA_{}'.format(params)].shift()
#长线对应SMIMA
df['DMAMA_shift_{}'.format(params)] = df.groupby('symbol')['DMAMA_{}'.format(params)].shift()
con2=df['DMA_shift_{}'.format(params)] < df['DMAMA_shift_{}'.format(params)]
df.loc[con1 & con2, event_name] = 1
return df









import pandas as pd
factor_name = 'DMA'
def special_data(candle_df, symbol, agg_dict, **kwargs):
"""
导入额外的数据
:param candle_df: 基础数据
:param symbol: 币种名
:param agg_dict: 转换周期的字典
:return:
"""
return candle_df, agg_dict
def batch_parameters():
"""
生成遍历的参数
:return:
"""
listp = [2, 3, 5, 8, 13, 21, 34, 55, 89]
while len(listp)<20:
_par=int(listp[-1]/0.8)
listp.append(_par)
parameters_list = []
for short in listp:
for long in listp:
if short < long:
parameters_list.append([short, long])
return parameters_list
def calculate(df, parameters, **kwargs):
"""
计算单个币种的因子
这边坚决不能进行去重或者删除空值等删除某行的操作
:param df: 需要计算的币种数据
:param parameters: 参数
:param kwargs: 额外的参数
:return:
"""
N1,N2=parameters
DMA=df['close'].rolling(window=N1).mean()-df['close'].rolling(window=N2).mean()
df['{}_{}'.format(factor_name, parameters)]=DMA
df['{}MA_{}'.format(factor_name,parameters)]=DMA.rolling(window=N1).mean()
return df
def cross_section_calculate(df, parameters, **kwargs):
"""
计算截面因子的函数
:param df: 所有币种的数据
:param parameters: 参数
:param kwargs: 额外的参数
:return:
"""
df['{}_{}_排名' .format (factor_name, parameters)] = df.groupby('candle_begin_time')['{}_{}'.format(factor_name,parameters)].rank(ascending=False, method='first')
return df
# 事件需要的因子
factors = ['DMA']
# 事件的名称名
strategy_name = 'DMA&event' # 名称和程序文件名相同,不能含有_
def batch_parameters():
"""
生成遍历的参数
:return:
"""
listp = [2, 3, 5, 8, 13, 21, 34, 55, 89]
while len(listp)<20:
_par = int(listp[-1]/0.8)
listp.append(_par)
parameters_list = []
for short in listp:
for long in listp:
if short < long:
parameters_list.append([short, long])
return parameters_list
def event_strategy(df, params, **kwargs):
"""
计算事件
:param df: 数据
:param params:
:return:
"""
event_name = '{}_{}'.format(strategy_name,params) # 策略名称
#-----long-------------
#条件1,DMA上穿其均线,买入
con1=df['DMA_{}'.format(params)]>df['DMAMA_{}'.format(params)]
#条件2,上一周期,DMA在均线下
#短线对应SMI
df['DMA_shift_{}'.format(params)] = df.groupby('symbol')['DMA_{}'.format(params)].shift()
#长线对应SMIMA
df['DMAMA_shift_{}'.format(params)] = df.groupby('symbol')['DMAMA_{}'.format(params)].shift()
con2=df['DMA_shift_{}'.format(params)] < df['DMAMA_shift_{}'.format(params)]
df.loc[con1 & con2, event_name] = 1
return df
No activity yet