C#/.NET量化开发实现财富自由【5】搭建属于你自己的A谷数据库

💡 原文中文,约7000字,阅读约需17分钟。
📝

内容提要

本文介绍了使用本地数据库存储券商数据的方法,以postgresql为例,详细介绍了安装、启动和配置数据库的步骤,并提供了一个帮助类用于操作数据库。最后,作者提醒读者量化需谨慎,祝愿读者早日财富自由。

🔎

延伸解读

数据库选型:PostgreSQL 与 ClickHouse 的权衡

文章建议一般使用 ClickHouse 存储券商数据,但为快速入门选择了 PostgreSQL。这暗示 ClickHouse 可能更适合大规模时序数据的高性能分析,而 PostgreSQL 更通用、易上手。读者需根据数据量、查询模式及团队熟悉度权衡,若追求极致性能可考虑 ClickHouse,若求稳可先用 PostgreSQL 过渡。

远程访问配置的安全提醒

文章详细说明了如何修改 postgresql.conf 和 pg_hba.conf 以允许远程连接,并给出了允许所有 IP 访问的示例。这虽然方便,但存在安全风险。在实际部署中,应限制访问 IP 范围、使用强密码,并考虑启用 SSL 加密,避免数据库暴露在公网导致数据泄露。

按股票代码分表的利弊分析

文章采用每只股票一张表的设计,自动创建了 5361 张表。这种设计简化了单只股票数据的查询与维护,但表数量过多可能增加数据库管理复杂度,跨股票查询(如选股)需联合多表,性能可能受影响。读者可评估是否改用单表加索引,或按时间分区,以平衡查询效率与管理成本。

预计算技术指标:效率与灵活性的取舍

文章在获取历史数据时计算并存储 DIF、DEA、MACD,便于直接使用。这节省了实时计算开销,但指标参数固定,若需调整参数或新增指标,需重新计算并更新所有表。读者应根据策略变化频率决定是否预计算,或保留原始数据以便灵活计算。

❓

Q&A

如何在Debian系统上安装PostgreSQL数据库?

在Debian系统上安装PostgreSQL的步骤包括更新系统、安装PostgreSQL、启动服务、创建数据库和用户。

如何配置PostgreSQL以允许远程访问?

需要修改postgresql.conf和pg_hba.conf文件,设置listen_addresses为'*'并添加远程连接规则。

使用PostgreSQL存储券商数据有什么好处?

使用本地数据库存储券商数据可以节约性能和资源开销。

如何创建数据库和用户并授予权限?

可以通过PostgreSQL命令行创建用户和数据库,并使用GRANT命令授予权限。

如何根据股票代码自动生成表结构?

可以创建一个实体类指定表字段名称,并用来统一生成所有股票的表结构,预留DIF、DEA、MACD字段。

量化投资时需要注意什么?

作者提醒量化投资需谨慎,建议读者量入为出,珍惜投资机会。

🏷️

标签

➡️

继续阅读