股票学习网

如何学炒股,入门炒股,股票入门,股票怎么玩,学习炒股网,股票技术,股票知识学习 - - 股票知识网!

同花顺dde指标(dde指标源码)

2023-04-12 02:40分类:黑马捕捉 阅读:

截至中午开盘,沪深300指数成份股资金流出98.93亿元,且有持续流出的趋势。沪深300指数成份股中资金流出居前的3个板块是:军工,计算机应用,房地产开发。上午沪深两市成交金额超4300亿元。

军工:短期涨幅巨大有调整需求

超级大单流出:13.83亿 资金持续流出:2个交易日 弱势指数:7

消息面来看,国防军工利好不断。近日,国防科工局副局长徐占斌近日在军民融合发展论坛上明确提出,加快提高军工资产证券化率,鼓励地方先行先试探索发展混合所有制经济。据有关机构测算,我国十大军工集团资产证券化率平均只有30%左右,军工资产证券化步伐刚刚起步,未来想象空间巨大。军工股已经成为国资改革题材的主力军。受利好影响,军工板块成为反弹主力军,亚星锚链,航天电器,中航光电等军工股概念股反弹创新高,一举拿下5178点的高点价格,今日获利盘涌出,投资者注意投资风险!

同花顺Level-2板块资金流向图

计算机应用:央行出政策限制互联网金融发展

超级大单流出:23.53亿 资金持续流出:5个交易日 弱势指数:8

消息面上,7月31日,央行发布《非银行支付机构网络支付业务管理办法(征求意见稿)》,其中,第三方支付单个客户单日累计金额应不超过5000元、支付账户需进行多种方式交叉验证等规定几乎成为了第三方支付机构的命门,对此,有网友直呼“5000元限额根本不够用!”

同花顺Level-2板块资金流向图

房地产开发:李嘉诚再次抛售内地房产

超级大单流出:3.26亿 资金持续流出:8个交易日 弱势指数:7

消息面上,香港富豪李嘉诚麾下房地产开发商长江实业地产有限公司(Cheung Kong Property Holdings LIMITED ,1113.HK, 简称:长实地产)打算出售位于上海的一处办公楼和零售地产项目。

分析认为,该交易将标志着李嘉诚再次抛售内地地产项目。作为亚洲富豪之一,李嘉诚的动作受到密切关注,成为解读他如何看待市场动向的信号。(同花顺财经原创中心)

同花顺Level-2板块资金流向图

大盘后市走向如何 股市热点为您解析

 

今日(11月8日)A股出现冲高回落走势,上午两市一度高歌猛进上攻,临近午盘,券商股的集体爆发,更是大大刺激了两市的人气。但遗憾的是,午后出现了跳水回落,深成指、中小板指、沪深300指数均翻绿。

午后为何跳水回落?

对于今日的走势,很多投资者不太理解,不知道午后为何会跳水回落。某私募人士表示,今日午后的快速回落,主要是因为,近期市场的量没有放出来,暗示新增入场资金不足,在存量资金博弈的背景下,通常难有持续上涨行情,震荡是常态。

该私募人士还表示,本周深成指和中小板指虽然不断创出本轮上涨行情的新高,但技术指标也有背离,这也制约了持续上涨动能,造成了今日午后的快速回落走势。

主力为何敢逆势买人工智能锂电池芯片股?

虽然今日午后两市出现回落跳水走势,但根据同花顺资金流数据显示,依旧有主力资金在买入人工智能、锂电池、芯片股。

那么,为什么主力敢逆势买入这三类股?主要是因为有长期利好支撑。

比如人工智能,上海市经信委副主任戎之勤在第六届中国机器人高峰论坛上表示,工博会以后将专门召开一场新闻发布会,将上海进一步推动新一代人工智能发展的实施意见,整个做一个解读向全社会宣传。戎之勤还称,要继续支持企业在上海成立机器人研发中心、研发总部,加快建设国家机器人测试与评定中心,积极参加机器人与国家行业标准的制定,大力推广应用型工业机器人以及服务机器人。

而锂电池和芯片更是未来科技发展的大趋势,随着新能源汽车、无人驾驶在以后被逐步普及,对锂电池、芯片的需求将大大提升,给相关上市公司带来长期利好。

哪些股被主力青睐?

我们越声理财梳理同花顺资金流数据发现,今日人工智能概念股DDE大单净额超过一千万的个股有9只,分别是东方网力(0.77亿),同花顺(0.62亿),巨星科技(0.53亿),昆仑万维(0.40亿)。更多数据可见上图。

锂电池概念股方向,DDE大单净额超过五千万的个股有9只,分别是天齐锂业(3.03亿),多氟多(2.78亿),赣锋锂业(2.29亿),格林美(1.58亿),风华高科(1.36亿)。更多数据可见下图:

芯片概念股方面,DDE大单净额超过一百万的个股有10只,分别是:通富微电(0.23亿),景嘉微(0.16亿),国科微(0.11亿),木林森(0.10亿)。更多数据可见下图:

(本文为越声理财供稿,以上分析仅供参考,不构成操作建议。如自行操作,注意仓位控制和风险自负。)

关于后市更多人工智能板块的详细投资机会,请关注越声理财公众号(yslcw927)了解详情!

关于如何添加公众号:点开微信,点右上角:+,再选择公众号,输入:yslcw927

 

中国青年报客户端讯(中青报·中青网记者 林洁)近日,2022年岭南科学论坛系列活动—— “粤港澳大湾区计算赋能加速数字化转型高端论坛”在广州举行。论坛以线下线上结合的形式进行,多位院士、教授、学者围绕数据驱动、数字经济、大数据治理、数字化转型关键技术与应用等话题进行学术交流。

数学地球科学学家和矿产勘查学家、中国科学院院士成秋明介绍了深时数字地球(DDE)大科学计划,以及地球时空大数据与AI在南海周边矿产资源预测的应用。他指出,在大数据、互联网、云环境和人工智能等革命性数字技术的快速发展和应用背景下,人类如何共享科学知识,特别是开放科学出版物、研究数据、元数据、教育资源、软件、源代码和硬件等资源是制约全球合作的瓶颈。

华南理工大学计算机学院院长陈俊龙院士透露,为加快推动数字经济的建设,有效激发数据要素创新活力,加速数字产业化和产业数字化进程,催生新技术、新产业、新业态,和支撑经济高质量发展,国家已规划各城市以人工智能、物联网等技术的布局来促进新型产业的发展。他介绍了数据及模型的特性及重要性,以及数据在国家 “东数西算”工程中部署的探讨,在工业互联网场景的应用以及对“东数西算”的展望。

中山大学人工智能学院副院长、博士生导师印鉴教授从系统的角度出发,从大数据和治理二个维度刻画大数据治理的过程,提出了一个全景式系统框架,阐述了该二维框架中每个单元的内容及彼此之间的关联关系。针对大数据维度的一个具体方面,他介绍了在理论、方法与技术上的一些研究实践。

据悉,本次论坛由广东省科学技术协会、广东省科学技术厅共同指导,广东省工商业联合会、广东省社会科学院支持,广东省计算机学会主办。

责任编辑:邱晨辉

来源:中国青年报客户端

 

 

本期知识小报的主要内容包括:

  • • Lombok 之 @Builder 注解与 JSON 反序列化的冲突

  • • 如何动态设置日志输出级别

  • • JWT的生成原理和误区

  • • Java 8 parallelStream 避坑指南

Lombok 之 @Builder 注解与 JSON 反序列化的冲突

Lombok 是 Java 开发中常见的工具,可以极大提高开发效率,对冗余代码进行简化。@Builder 是 Lombok 提供的一个快速实现建造者模式的注解。通过该注解,便可以直接进行参数的链式调用构造, 如下所示:

@Builder
@Data
public class ItemData {
/**
* 商品id
*/

public Long itemId;

/**
* 商品标题
*/

public String itemTitle;

}

ItemData itemData = ItemData.builder()
.itemId(123456L)
.itemTitle("闲小鱼")
.build();

一切都看起来非常优雅,直到我们使用 fastjson 进行序列化和反序列化,看似再正常不过的代码,居然抛了如下异常

ItemData itemData = ItemData.builder()
.itemId(123456L)
.itemTitle("闲小鱼")
.build();
//fastjson序列化
String itemString = JSONObject.toJSONString(itemData);
//fastjson反序列化
ItemData deserializeItem = JSON.parseObject(itemString, ItemData.class);

 

通过源码分析得知,fastjson 实例化对象优先使用无参构造函数,其次再使用 public 修饰的带参构造函数。因此反编译看下 @Builder 注解帮我们生成的代码,可以看到只有一个带全部参数的构造函数供 Builder 类内部类使用,并且该构造函数没有被 public 修饰,因此反序列化时 fastjon 无法进行实例化对象。

 

针对上述问题,我们在使用 @Builder 注解时,建议配合 @NoArgsConstructor @AllArgsConstructor 这两个注解使用,可以避免一些情况下的的反序列化问题(jackson , Gson 等序列化框架也会有此问题)。

@Builder
@Data
@NoArgsConstructor
@AllArgsConstructor
public class ItemData {
/**
* 商品id
*/

public Long itemId;

/**
* 商品标题
*/

public String itemTitle;

}

如何动态设置日志输出级别

日志输出级别定义取决于日志框架,如常见的日志框架Log4j中支持8种日志级别,从低到高依次为OFF、FATAL、ERROR、WARN、INFO、DEBUG、TRACE、 ALL;而Logback中支持7种日志级别,从低到高依次为OFF、ERROR、WARN、INFO、DEBUG、TRACE、ALL。日志打印级别由日志配置文件声明,在应用启动时便根据配置文件指定了相关Logger的日志打印级别。那么在应用运行过程中,如何动态变更日志输出级别呢?

对于单台机器,可以使用arthas(阿里巴巴开源的超实用JAVA监控诊断工具)来快速的查看和重置指定Logger的日志打印级别。输入命令logger,查看当前机器上所有Logger的相关信息。

 

输入命令logger --name root --level debug -c 2dde1bff (--name指定Logger名称,--level指定修改到的日志级别) 这里,笔者将主日志日志打印级别调整到了DEBUG。

 

那么对于线上机器集群,如何实现日志级别动态调整呢?答:通过配置中心 + LoggingSystem(org.springframework.boot.logging.LoggingSystem)来实现。LoggingSystem会帮我们屏蔽掉底层具体的日志框架,实现统一的日志操作。这里,笔者为大家提供一个工具类。

@Service
public class LoggerLevelAdjustService {

@Autowired
private LoggingSystem loggingSystem;

/**
* 设置主日志(ROOT Logger)的日志输出级别
* @param newLevel 要设置到的日志输出级别
* @return void
*/

public void setRootLoggerLevel(String newLevel){
setLoggerLevel(ROOT_LOGGER_NAME, newLevel);
}

/**
*
* @param loggerName logger name
* @param newLevel 要设置到的日志输出级别
* @return void
*/

public void setLoggerLevel(String loggerName, String newLevel){
if (StringUtils.isEmpty(newLevel)) {
return;
}
for (LogLevel level : LogLevel.values()) {
if (level.name().equals(newLevel)) {
loggingSystem.setLogLevel(loggerName, level);
}
}
}
}

之后,只需要在配置中心接收配置推送的代码中,调用工具类中修改日志输出级别的方法,即可实现日志输出级别的动态调整。

JWT的生成原理和误区

JWT的全名是JSON Web Token,是一套去中心化的信息传输工业标准,在认证和信息交换领域中被较为广泛地使用。在短时效身份认证场景下,相比于传统的“cookie + session”方案,JWT使用计算替代存储,无需服务端额外存储session,可以减少数据库访问,并具有更好的扩展性。

在结构上JWT由三部分组成:Header,Payload和Signature,并使用“.”将三部分连接形成“Header.Payload.Signature”。在Header中,指明Signature生成过程使用的加密算法,明文如下:

 

在Payload中,放入需要被传输的信息,如:

 

在最终的JWT令牌中,Header和Payload会使用Base64Url算法编码为最终传输信息的前二部分。为了防止信息交换的过程中被篡改,JWT设计了第三部分Signature。Signature通过将Header和Payload的信息进行加密的方式生成,常见支持的加密算法有HS256(一种引入密钥的摘要算法),非对称加密RS256等。若我们采用HS256,则Signature的生成公式为:Signature = HS256(base64UrlEncode(header) + "." + base64UrlEncode(payload), secret) 在设定HS256特定密钥后,我们可以得到Signature为zYAABCrTH4trLliHsSbmCA3Rrn0Fym5aZ5MgrlnkW9Y。最终将编码后的Header、Payload和生成的Signature使用“.”连接起来,便得到了JWT令牌(红色部分为Header,紫色为Payload,蓝色为Signature)。

 

显然,若在传输过程中Payload被进行了篡改,接收方使用预先定义的密钥便会生成截然不同的Signature。因此,JWT可以实现信息传输过程中的防篡改。此外,因为Payload部分仅仅是进行了编码(而非加密),所以在接收方或者第三方可以被解码为明文userId。因此,切记不能使用Payload传输密码等敏感信息。

Java 8 parallelStream 避坑指南

StreamAPI 是 Java 8 中引入的新特性,借助这个能力,开发者们可以更容易地对集合数据进行处理。除了默认的串行 Stream 之外,StreamAPI 还引入了 parallelStream ,只需一行 parallelStream() ,就可以开启多线程并行处理,进而充分发挥多核 CPU 的性能。不过在你使用它之前,最好注意以下几个问题:

  1. 1. 并行流与串行流的执行结果可能会不一致

IntStream.of(1, 2, 3).reduce(4, Integer::sum); 这是一段简单的数组元素相加,得到执行结果为 10,符合预期。 IntStream.of(1, 2, 3).parallel().reduce(4, Integer::sum);
接下来我们将这段代码改写为使用并行流来处理,在其他条件都不变的基础上,得到结果为 18,与预期结果不一致。造成这种差异的原因主要是 Stream 的并行流底层采用的是 ForkJoinPool 来执行,其线程数为运行机器的 cpu 核数-1(因此cpu核数会影响执行结果),其主要原理是把任务分成多个部分,每个部分进行独立计算最后合并。复原一下上面的例子,如下图所示:

 
  1. 2. 串行流并不是在所有场景下都可以带来性能提升

由上面的例子可以看出,并行流更适合处理无状态的数据,即各子任务之间关联性较弱的操作,如 map,filter 等,而 sorted、 distinct 以及 limit 等操作可能并不会带来性能上的提升,反而会因为线程的额外开销导致效率不如并行流。因此,需要视具体使用场景来评估是否使用。

  1. 3. 长耗时任务需要单独指定处理任务的线程池

parallel stream 默认使用的执行线程池为 ForkJoinPool 内部的静态 commonPool,主要用于处理没有为其单独分配线程池的任务。该线程池的大小默认为 cpu 核数-1,因此如果在其中运行长耗时的任务,极有可能造成线程池阻塞,影响当前业务甚至其他用了 parallel stream 的业务。此时更建议手动开启一个新的线程池进行任务处理,或者为 parallel stream 单独指定一个专用线程池,如下所示:

ForkJoinPool businessPool = new ForkJoinPool(4);
int sum = businessPool.submit(
() -> IntStream.of(1, 2, 3).parallel().reduce(0, Integer::sum)).get();
businessPool.shutdown();

引用

Github fastjson: https://github.com/alibaba/fastjson/wiki/ASMDeserializerFactory%E8%AE%BE%E8%AE%A1

Arthas: https://arthas.aliyun.com/doc/logger.html

JWT: https://jwt.io/introduction

Java8Stream: https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/stream/Stream.html

 

 

https://www.suoduoma.com

上一篇:融资产品是什么意思(直接融资产品)

下一篇:002306重组最新消息(股票)

相关推荐

返回顶部