ArcticDB
2024年7月12日
如果您正在阅读本文,您可能期望看到一篇解释 ArcticDB 的性能、功能集和成本如何使其成为您的绝佳选择的文章。虽然这些都是事实,但您应该在研究和数据科学中使用 ArcticDB 还有一个更重要的原因。请继续阅读以了解更多信息。
时间回到2016年,我当时是一名风险量化分析师——我的团队主要负责构建模型来管理我们交易的复杂产品的风险。这项工作既有趣又充满挑战;模型主要是根据一组市场数据计算复杂证券的价格和风险。投资组合风险是通过在定价模型之上应用大量市场情景来衡量的。
大约在这个时候,风险团队和投资组合经理开始寻求统计模型。我们擅长衡量市场发生特定情况时的结果,但人们也想知道根据近期历史数据来看,最有可能出现的情景是什么。
我们开始基于对历史市场数据的各种分析来构建统计模型。我们很快意识到:
测试统计模型需要大量数据。
模型的优势和缺陷只有通过彻底的测试才能显现出来。
解决这些缺陷需要修改模型并重新测试。
很快,一系列不同的模型应运而生。
其中一些模型变得有用,但没有明显的赢家。
因此,我们需要持续运行一系列不同的模型。
此时,我用于定价模型的工作流程在应用于统计模型时开始难以应对。问题在于:
使用文件存储数据变得混乱且容易出错。多个模型版本使得情况更加糟糕。
目标生产数据库是 SQL。我开始质疑这种选择对于随着时间推移而不断演进的模型是否合适,因为经验告诉我,使用 SQL 进行模式更改既困难又昂贵。
我们需要一种新的方法。
幸运的是,我知道测试流程与量化交易模型的流程相似,所以我与该领域的研究人员交流了他们的工作流程。他们给了我很多很棒的建议,并且一个共同的主题是:他们都在使用 Arctic——ArcticDB 的前身——而且他们非常喜欢它。
将我的数据迁移到 Arctic 非常简单——如果您已经了解 Pandas 和 Python,几乎没有什么新东西要学。性能很好(在 ArcticDB 中现在更棒),API 易于学习和使用。我立刻成为了它的忠实粉丝。
在 Arctic 重构完成后,我继续进行模型开发,并注意到了一些其他很棒的好处:
当模型和需求随着时间变化需要改变数据布局时,我可以轻松地进行,而无需数据库管理员 (DBA) 的帮助。
在 ArcticDB 中使用不同的环境很容易支持新模型的开发队列。新模型可以在测试数据库中进行长时间的彻底测试,然后轻松地迁移到生产环境。
围绕 DataFrame 作为存储单元构建数据管道是进行研究的一个很棒的模板。
我加入 ArcticDB 团队并推荐它用于研究的原因很简单——它极大地提高了我在构建、测试和部署模型方面的效率,而我也希望帮助其他研究人员和数据科学家提高他们的效率。
我学习使用 Arctic 花费的时间仅是我学习 SQL 的一小部分。而且当事情变得复杂时,我仍然需要 SQL 专家的帮助。我们还发现团队中的其他人几乎可以在瞬间学会并高效地使用 Arctic。事实上,我们最近收集了 ArcticDB 用户的反馈,最普遍的主题是:ArcticDB 对于新成员来说几乎是零学习曲线——他们从第一天起就能够投入生产。
一句话概括:ArcticDB 不会碍您的事,这样您就可以专注于您的数据和模型——您的精力和思维都集中在最重要的地方。
感谢您阅读我的博文。如果我的故事引起了您的共鸣,您现在可以免费试用 ArcticDB,无需任何设置。点击下方 Notebook 链接,几秒钟内即可运行 ArcticDB。如果 ArcticDB 提升了我的研究效率,也许也能提升您的呢?
Notebooks (笔记本): https://docs.arcticdb.cn/latest/notebooks/ArcticDB_demo_lmdb/