首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

从计算、建模到回测:因子挖掘最佳实践

同时,DolphinDB 自带数据回放和流式增量计算引擎可以方便地解决因子挖掘研发和生产一体化问题。DolphinDB 分布式存储和计算框架,天生便于解决工程可靠性、扩展性等问题。...在面板数据上,由于是以时间为索引,标的为,因子可以方便地在截面上做各类运算。...DolphinDB 包含 row 系列函数以及各类滑动窗口函数,在下面两个因子计算例子,原本复杂计算逻辑,在面板数据,可以用一行代码轻松实现。...OLAP 引擎是纯列式存储,不适合过宽,在超过80以后,写入性能会逐渐下降,故不做考虑。...6、因子回测和建模 很多时候,计算因子只是投研阶段第一部分,而最重要部分其实在于如何挑选最为有效因子。在本章节,将会讲述如何在 DolphinDB 做因子间相关性分析,以及回归分析。

6.2K22

干货 | 高频多因子存储最佳实践

对于读取随机标的(A股市场目前约5000 股票)、随机多个因子(10000个因子随机取1000个因子)场景,要能从海量因子数据可能高速并精准读取数据,减少无效 IO ,并以需要方式(通常是因子面板模式...为了使广大用户更方便地实现因子计算和管理,助力更高效投研和生产,DolphinDB 结合多年服务金融量化机构经验,已经实现了部分国内常用因子库,并且支持研究和生产一体化。...为了方便用户计算因子,DolphinDB 实现了所有 191 个因子函数,并封装在模块 gtja191Alpha 。...1、新增因子:在新增因子场景,窄模式只需要进行 Insert 操作,将新增因子数据写入;而宽模式需要先进行addColumn 操作,然后更新新增因子数据,DolphinDB 目前更新机制是重写...而宽模式在当前设计下,如果要更新一因子数据,需要把所有的分区数据全部重写,所以耗时非常长。 2、更新因子:量化投研,重新计算因子数据是常见场景。

1.6K20
您找到你想要的搜索结果了吗?
是的
没有找到

新型行情中心:基于实时历史行情指标计算和仿真系统

这些数据包含市场微观结构信息可能为投资带来更为稳定回报。 行情中心需要提供更多品类数据,能够为周边资管、交易、风险、估值和研究等多个应用方向和业务条线服务。...2、数组存储(档报价数据存储) 3:10档行情数据示例 3为10档行情原始数据,每一档包含买价、卖价、买量和卖量4数据,因此需要40。...4:Array Vector 10 档行情存储 DolphinDB支持数组(array)类型,在array vector可以同时存10档数据。...宽存储天然适合面板数据,并能减少数据冗余,提高查询速度。 5:DolphinDB存储 如表5所示,在一张宽存储4500只股票1098个因子。DolphinDB支持32767大宽。...一部分时序数据库不支持大宽或者存在明显性能问题。例如ClickHouse会把每数据都存为一个文件,在大宽数据文件读写就会遇到显著性能下降。

3.2K21

DolphinDB:金融高频因子流批统一计算神器!

图中节点有3种: 1、数据源,price。 2、有状态算子,a, b, d, e。 3、无状态算子,c和result。 从数据源节点开始,按照既定路径,层层推进,得到最后因子输出。...3.2 解析和优化 DolphinDB脚本语言是支持向量化和函数化范式编程语言。通过函数调用关系,不难得到计算步骤DAG。...在后续版本DolphinDB将允许用户用插件来开发自己状态函数,注册后即可在状态引擎中使用。 3.4 自定义状态函数 响应式状态引擎可使用自定义状态函数。...假设配置参数subExecutors=4,创建4个状态引擎,每个状态引擎根据流股票代码哈希值来订阅不同股票数据,并且指定不同订阅线程来处理,最终将结果输出到同一个输出。...(tmp) 需要注意是,如果多个状态引擎是同一个输出,该输出必须是一个共享。没有共享不是线程安全,并行写入可能会导致系统崩溃。

3.9K00

Alertmanager对接Loki实现日志告警 | 坑我已经帮你们踩好了

如下图所检索出来WARNING 日志,大量WARNING、ERROR或者OOM这样日志可能预示着应用即将出现异常,这时候基于日志告警功能就非常有必要。...然后在/monitor/loki/rules 下创建名为fake文件夹,将rule放在该文件夹下。...为什么要创建名为fake文件夹,这个因为Loki定义单租户Loki系统,fake为其默认租户名,如果是租户系统,则/monitor/loki/rules 下多个其他名字文件夹也可以。...值得注意是,修改rule配置文件并不需要重启Loki,在Loki运行日志里面可以看到如下日志,提示rule文件正在被修改 如果不确定rule表达式写是否正确,可以在Grafana先进行预跑,...5B1m%5D%29+%3E%3D+0%29&g0.tab=1', 'fingerprint': '84a77cf1f548f633' }, 上面labels元素包含

5K41

POSTGRESQL 系统 一个神秘花园

这将有助于显示数据库有活跃,以及发现那些可能以惊人速度出错/回滚程序可能出现故障。关于是否从磁盘或内存检索数据信息存储在blks_read和blks_hit。...如果所涉及数据库是备用服务器,则冲突可以方便地跟踪由于与处于“恢复模式”备用服务器发生冲突而取消了多少查询。如果不是备用集群,则可以忽略此列。 查询需要写入临时文件。...state”显示当前连接状态,活动、空闲、事务空闲,查询将显示正在运行实际查询,或最近运行查询。...如果我们要从这些查找特定数据,我们必须确保在发出查询时连接到正确数据库。 关于用户元数据存储在以下两个,它们分别对应于系统创建每个用户。...我们还可以创建一个随时间变化内存与磁盘比率,如果该比率在一天任何时候下降,我们就可以精确地确定这个比率。

1.8K30

MySQL行格式原理深度解析

MySQL行格式(Row Format)是指存储在数据库数据物理格式。它决定了数据是如何在磁盘上存储,以及如何在查询时被读取和解析。...三、指定和查看行格式 指定行格式 你可以在创建或修改时候指定行格式。...这种设计允许数据库在处理包含大量长字段时更加灵活,因为它减少了由于单个行过大而导致页分裂可能性。...NULL 值列表:如果某些被定义为允许 NULL 值,并且实际上存储了 NULL 值,那么 InnoDB 需要在行为每个 NULL 分配一个额外字节(在某些情况下,多个 NULL 可能共享相同字节...VARCHAR : VARCHAR 虽然通常用于存储较短字符串,但在某些情况下,如果 VARCHAR 数据非常长,并且导致行总大小超过了数据页内可用空间,那么 VARCHAR 数据也可能被存储在溢出页

35710

java面试(3)SQL优化

何在Order by语句非索引项或者有计算表达式都将降低查询速度 应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全扫描,select id...如果变量包含大量数据,请注意索引非常有限(只有主键索引)。 避免频繁创建和删除临时,以减少系统资源消耗。...整合简单,无关联数据库访问: 如果你有几个简单数据库查询语句,你可以把它们整合到一个查询(即使它们之间没有关系) 尽量使用COMMIT: 只要有可能,在程序尽量使用COMMIT, 这样程序性能得到提高...这也是一条简单而重要规则,当仅引用索引第二个时,优化器使用了全扫描而忽略了索引 a如果检索数据量超过30%记录数.使用索引将没有显著效率提高....不要给类似“性别”创建索引(即整个值只有一两种,十几种) ,像这种情况,一般不会走索引,即便在列上创建了索引,因为这种情况全扫描还要快于利用索引,优化器会选择性选择走全扫描,比如一个只有四种值

3.2K20

硕士毕业半年茫茫社招路

但是德兵师兄真的是一位非常靠谱leader,如果是对CV/NLP/模态/智能创作感兴趣同学,可以联系他:zhangdebing@kuaishou.com @DolphinDB智臾科技 要说自己为什么会投递甚至最后还选择了这么一家对很多人来说颇有些...这下我可就犯难了,这倒不是完全因为阿里工作环境和氛围可能不适合我,还因为我知道我简历去投阿里云数据库组社招,很可能刷(简历筛选)都过不了。...这里要说明是,我以前认为在面试这样诚实地说出自己期望是不合适,因为有可能这家公司不符合这样期望,最后就不发offer了;但我后来觉得既然我不缺offer,不如说得直接一些,也免得去了公司之后发现期望与现实落差太大而离职...令我非常惊讶是,Davis是公司CEO&CTO,有非常事情在忙,但从和他交流,我能很明显感觉到他还在一线上写非常代码,甚至仍然是代码库最主要贡献者。...这三个月里,我们主要工作是一起开发了基于LSMTIoT存储引擎,新存储引擎主要是针对物联网大规模场景,典型场景可能是有千万台设备(千万个电表)每秒都会产生一条数据,在支撑这个级别的数据量写入前提下

1.2K31

Apache Hudi 0.10.0版本重磅发布!

数据跳过对于优化查询性能至关重要,通过启用包含单个数据文件级统计信息(最小值、最大值、空值数等)统计索引,对于某些查询允许对不包含文件进行快速裁剪,而仅仅返回命中文件,当数据按全局排序时...使用空间填充曲线( Z-order、Hilbert 等)允许基于包含排序键有效地对表数据进行排序,同时保留非常重要属性:在列上使用空间填充曲线对行进行排序列键也将在其内部保留每个单独排序...,在需要通过复杂排序键对行进行排序用例,此属性非常方便,这些键需要通过键任何子集(不一定是键前缀)进行有效查询,从而使空间填充曲线对于简单线性(或字典序)排序性能更优。...这在云存储可能非常昂贵,同时可能会根据数据集规模/大小限制请求,因此我们早在 0.7.0版本中就引入了元数据来缓存Hudi文件列表。...总之任何在 0.10.0 之前创建没有主键 Hudi 都需要使用带有 0.10.0 主键字段重新创建,另外我们计划在未来版本中去掉对主键限制。 6.

2.4K20

Apache Hudi在腾讯落地与应用

,Hudi支持Parquet、ORC、HFile、avro格式,同时提供了非常丰富API,Spark DF、RDD、FlinkSQL、Flink DataStream API,利用这些API可以非常方便地对...组成,commit包含delta_commit,commit,clean,rollback,replacecommit等,同时每个commit都包含对应状态,requested,inflight,completed...在传统Hive数仓想保证实时是非常困难,尤其是文件更新,湖实时写入更新,基本不可能实现。...• 在流拼接,因为 LogFile 存在不同数据流写入数据,即每条数据可能不相同,所以在更新时候需要判断相同 Key 两个 Record 是否来自同一个流,是则做更新,不是则做拼接。...在流拼接,Map Record 不会完整覆盖 BaseFile 对应 Record,可能只会更新部分列值,即 Map Record 对应

1.5K30

mysql之视图、索引

例如,当数据库同时存在时,学生基本信息、课程和教师信息等多种同时存在时,可以根据需求让不同用户使用各自数据。...简化数据操作 在使用查询时,很多时候要使用聚合函数,同时还要显示其他字段信息,可能还需要关联到其他,语句可能会很长,如果这个动作频繁发生的话,可以创建视图来简化操作。...重用 SQL 语句 视图提供是对查询操作封装,本身不包含数据,所呈现数据是根据视图定义从基础检索出来,如果基础数据新增或删除,视图呈现也是更新后数据。...如果是组合索引,则组合必须唯一;unique约束 主键索引:是一种特殊唯一索引,一个只能有一个主键(可以由组成),不允许有空值; 由数据库自动创建,只要在建时候设置了主键,就会自动生成主键索引...尽量不要包括排序,如果一定要,最好为这队列构建组合索引; 索引操作 创建索引 CREATE [UNIQUE|FULLTEXT] INDEX 索引名 ON 名(字段名(长度) 查询索引 SHOW

96130

什么是窄?什么是宽

在数据库层面,什么是窄?什么是宽? 在数据库,窄和宽是两种设计思想,分别指的是数少或者表格。 窄是指只包含少量主键和几个属性)表格。...相比之下,宽则是指具有大量表格。这些可以来自不同来源,可能包括各种聚合和汇总数据等。...宽能够提供更为全面和详细数据,但同时也会带来一定复杂度,包括查询效率下降等问题。 窄与宽选择取决于具体业务需求和数据处理场景。需要根据实际情况进行评估、设计和优化。...宽可以解决一些需要同时获取多个数据属性、进行数据分析和数据挖掘问题。相对于狭窄表格,宽可能包含更多关联信息,如不同维度、时间范围内历史数据或聚合统计数据。...同时,宽减少了在多个之间查找、联接数据等操作,简化了查询和检索流程,提高了数据可访问性和可靠性,并且能够方便地支持 OLAP 和数据挖掘等高级数据处理操作。

1.2K20

SQL Server数据库入门基础知识

工程数据库、多媒体数据库、图形数据库、智能数据库等 4、数据库三种模型 ·网状模型:数据关系对一,较复杂 ·层次模型:类似与公司上下级关系 ·关系模型:实体(实现世界事物、×××、银行账户...其中: ·数据通常是一个由行和组成二维,每一个数据分别说明数据库某一特定方面或部分对象及其属性 ·数据行通常叫做记录或者元组,它代表众多具有相同属性对象一个 ·数据通常叫做字段或者属性...外键:外键是用于建立和加强两个数据之间链接;一个关系数据库通常包含多个,外键可以使这些关联起来。...数据库创建在物理介质(硬盘)NTFS分区或者FAT分区一个或多个文件上,它预先分配了将要被数据和事务日志所使用物理存储空间。存储数据文件叫做数据文件,数据文件包含数据和对象,如表和索引。...·次要(辅助)数据文件:除主数据文件以外所有其他数据文件都是次要数据文件,某些数据库可能包含任何次要数据文件,而有些数据库则包含多个次要数据文件,次要数据文件文件扩展名是.ndf。

63110

时序数据库Machbase「建议收藏」

Machbase Edge Edition 旨在即使嵌入在资源有限小型设备也具有高速处理性能。通过嵌入众多小型设备边缘版,可以通过收集和处理生产现场产生所有数据来构建完美的边缘计算基础设施。...默认系统用户和密码【sys:manager】 sys用户可以看到所有,包括其他用户创建,但不能操作其他用户创建。 新创建用户不能创建tag table,只能看到自己。...4.5、【tag table】DDL,创建、查看表结构、删除 创建时间挺慢,不过使用时这个创建一次; metadata相当于influxdbtag; tag table 为存储传感器数据定制...,只能创建一个,必须包含 Tag name(ID),Input time(TIME)、Sensor value(DATA) 三个,并且是指定类型,还可以额外创建其他。...发现本站有涉嫌侵权/违法违规内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

39520

StarRocks学习-初识

通过分区机制(Sharding),一张可以被划分成多个分区,将一张按照时间来进行分区,粒度可以是一天,或者一周等。一个分区内数据可以根据一、或者进行分桶,将数据切分成多个Tablet。...每个逻辑block在shortkey index存储一项索引, 内容为维度前缀, 并且不超过36字节.  ...Per-column cardinal index:  数据有各自行号索引,  数据块和行号索引项一一对应, 索引项由数据块起始行号和数据块位置和长度信息构成, 用数据行行号查找行号索引...用户创建RollUp索引时, 可选择聚合粒度, 数量, 维度次序; 使频繁使用查询条件能够命中相应RollUp索引。...分区(partition)、分桶(bucket)必须在主键。 和更新模型不同,主键模型允许为非主键创建bitmap等索引,注意需要建时指定。

2.1K30

Spark SQL实战(04)-API编程之DataFrame

因此,如果需要访问Hive数据,需要使用HiveContext。 元数据管理:SQLContext不支持元数据管理,因此无法在内存创建和视图,只能直接读取数据源数据。...而HiveContext可以在内存创建和视图,并将其存储在Hive Metastore。...API一个方法,可以返回一个包含前n行数据数组。...通过调用该实例方法,可以将各种Scala数据类型(case class、元组等)与Spark SQL数据类型(Row、DataFrame、Dataset等)之间进行转换,从而方便地进行数据操作和查询...显然,在编写复杂数据操作时,手动创建 Column 对象可能会变得非常繁琐和困难,因此通常情况下我们会选择使用隐式转换函数,从而更加方便地使用DataFrameAPI。

4.1K20

「数据架构」什么是实体关系图(ERD)?

在典型ER设计,您可以找到描述实体、实体属性和相互关系符号,圆角矩形和连接器(具有不同端点样式)。 什么时候画ER图? 什么时候画erd ?...这样初始模型还可以演化为物理数据库模型,以帮助创建关系数据库,或帮助创建流程图和数据流模式。 ERD符号指南 ER图包含实体、属性和关系。在这一节,我们将详细讨论ERD符号。...下面的ER关系图示例显示了一个包含一些属性实体。 ? 主键 主键是一种特殊实体属性,它惟一地定义了数据库一条记录。换句话说,不能有两个(或多个)记录共享主键属性相同值。...基数 基数定义一个实体可能出现事件数,该实体与另一个实体可能出现事件数相关联。例如,一个队有很多队员。当在ERD中出现时,实体团队和玩家以一对关系相互连接。...例如,“可能存在于逻辑或物理数据模型,但在概念数据模型,它们只是作为没有基数关系显示。 概念数据模型示例 ?

4.8K21
领券