PostgreSQL_数据使用与日数据分享

news/2025/3/25 8:20:36/

 目录

前置:

1 使用

1.1 获取前复权因子

1.2 查询股票的纵向数据

1.3 查询股票的横向数据

2 日数据分享(截止至:2025-03-21)

总结


前置:

本博文是一个系列。在本人“数据库专栏”-》“PostgreSQL_”开头的博文。

本文为该系列最后一篇。

1 使用

1.1 获取前复权因子

访问优矿官网

 ticker_list = []
field_list = ['secID','tradeDate','accumAdjFactor']
df = DataAPI.MktEqudGet(secID=u"",ticker=ticker_list,tradeDate=u"",beginDate=u"1990-01-01",endDate=u"2025-03-21",isOpen="",field=field_list,pandas="1")
df.to_csv('adj000.csv',encoding='utf-8')

 将要操作的股票的前复权因子获取,存入 t_ticker_adj_factor 表格,不存入也行,直接访问文件。

1.2 查询股票的纵向数据

select tradeDate,openPrice,highestPrice,lowestPrice,closePrice,turnoverVol,turnoverValue,dealAmount,turnoverRate,negMarketValue,marketValue,chgPct,PE,PE1,PB,isOpen,vwap from t_stock_daily where ticker='000001';

代码:

def query_vertical(ticker:str):sql_str = f"select tradeDate,openPrice,highestPrice,lowestPrice,closePrice,turnoverVol,turnoverValue,dealAmount,turnoverRate,negMarketValue,marketValue,chgPct,PE,PE1,PB,isOpen,vwap from t_stock_daily where ticker=\'{ticker}\';"conn = connect_db()cur = conn.cursor()cur.execute(sql_str)res = cur.fetchone()df = pd.DataFrame(data={'tradeDate': res[0],'openPrice': res[1],'highestPrice': res[2],'lowestPrice': res[3],'closePrice': res[4],'turnoverVol': res[5],'turnoverValue': res[6],'dealAmount': res[7],'turnoverRate': res[8],'negMarketValue': res[9],'marketValue': res[10],'chgPct': res[11],'PE': res[12],'PE1': res[13],'PB': res[14],'isOpen': res[15],'vwap': res[16]})df.to_excel(r'E:/temp002/'+ticker+'.xlsx',engine='openpyxl')cur.close()conn.close()pass

实现前复权数据方法:

将未复权数据的日期与复权因子的日期对其,然后收开高低都和复权因子相乘,所得就是前复权数据。

1.3 查询股票的横向数据

select ticker,openPrice,highestPrice,lowestPrice,closePrice,turnoverVol,turnoverValue,dealAmount,turnoverRate,negMarketValue,marketValue,chgPct,PE,PE1,PB,isOpen,vwap from t_daily where tradeDate='2025-03-19';

代码:

def query_horizontal(date_str:str):sql_str = f"select ticker,openPrice,highestPrice,lowestPrice,closePrice,turnoverVol,turnoverValue,dealAmount,turnoverRate,negMarketValue,marketValue,chgPct,PE,PE1,PB,isOpen,vwap from t_daily where tradeDate=\'{date_str}\';"conn = connect_db()cur = conn.cursor()cur.execute(sql_str)res = cur.fetchone()df = pd.DataFrame(data={'ticker': res[0],'openPrice': res[1],'highestPrice': res[2],'lowestPrice': res[3],'closePrice': res[4],'turnoverVol': res[5],'turnoverValue': res[6],'dealAmount': res[7],'turnoverRate': res[8],'negMarketValue': res[9],'marketValue': res[10],'chgPct': res[11],'PE': res[12],'PE1': res[13],'PB': res[14],'isOpen': res[15],'vwap': res[16]})df.to_excel(r'E:/temp002/' + date_str + '.xlsx', engine='openpyxl')cur.close()conn.close()pass

2 日数据分享(截止至:2025-03-21)

链接: https://pan.baidu.com/s/1Ng-0InEHtEhZcUZWLdjqcQ?pwd=krb3 提取码: krb3

文件名:db_stock.dump,1.5G左右

下载完后通过 pg_restore 命令导入。

总结

1 postgreSQL功能强大,如果有其他数据库经验的,上手很容易

2 postgreSQL的性能挺好的,通过python批量操作能传入的sql语句可以很大,而且执行效率很高

3 postgreSQL功能全面,提供了命令行,界面操作,一个软件包啥都包,安装十分方便

4 postgreSQL包含的数组、json等数据对象对处理复杂数据十分方便,总之就很棒^_^

注意:

1 数组的索引是从1开始

2 python操作上传sql语句时,涉及到参数是字符串的,要在字符串开头结尾增加\'


http://www.ppmy.cn/news/1582442.html

相关文章

DeepSeek处理多模态数据的技术要点和实现方式

DeepSeek具备处理多模态数据的能力,以下是相关技术要点和实现方式。 1. ‌多模态模型架构‌ ‌单流/双流网络‌:通过将文本和图像输入统一编码器(单流)或分别编码后交互(双流)实现模态融合‌。‌预训练模…

Java的流程控制

一、三种执行顺序 顺序结构、分支结构(if、switch)、循环结构(for、while、do-while) 二、分支结构 (一)if分支的三种形式(根据条件真假来执行某段代码) 1.只有if package xixi;…

再探C语言(1)

温馨提示: 学C语言就像玩《掘地求升》——你以为懂了语法就能通关? 不!编译器会用铁锤教你做人!(╯‵□′)╯︵┻━┻ 🐱Part 1:sizeofの跨平台迷惑行为 Q1. 不同环境下sizeof(int)的结果 运行环境结果&a…

【Java篇】静动交融,内外有别:从静态方法到内部类的深度解析

文章目录 类和对象(下)八、static 关键字8.1 静态变量8.1.1 概念8.1.2 访问方式 8.2 静态方法8.2.1 概念8.2.2 访问限制 8.3 static成员变量初始化8.4 静态成员的使用场景 九、代码块8.1 代码块概念以及分类8.2 普通代码块(局部代码块&#x…

C++23新特性详解:迈向更现代化的C++

C23 是 C 标准的下一个重要更新版本,虽然不如 C20 那样具有颠覆性,但它依然带来了许多值得开发者关注的改进和新增特性。本文将详细介绍 C23 的关键新特性,并通过代码示例帮助读者快速掌握它们的用法。 一、核心语言特性改进 1. if consteva…

VS2019 快捷键及各项功能汇总

一、常用快捷键【代码编辑类】 CtrlKD 格式化当前文档代码 CtrlKF 格式化选中代码 CtrlKC 注释当前选中行 CtrlKU 取消对选中行的注释 CtrlU 转换为小写 CtrlShiftU 转换为大写 Alt上下箭头↑↓ 将当前行上移或下移 【跳转查找…

Word中公式自动标号带章节编号

(1)插入一行三列的表格,设置宽度分别为0.5,13.39和1.5,设置纵向居中,中间列居中对齐,最右侧列靠右对齐,设置段落如下 (2)插入域代码 【Word】利用域代码快速实…

aws(学习笔记第三十四课) dockerized-app with asg-alb

文章目录 aws(学习笔记第三十四课) dockerized-app with asg-alb学习内容:1. 整体架构1.1 代码链接1.2 代码手动修改部分1.2.1 rds_stack.py1.2.2 efs_stack.py1.2.3 asg_stack.py1.2.4 userdata.sh 1.2 整体架构 2.代码解析2.1 全体app.py2.2 NetworkStatck网络2.3…