免费获取所有股票5分钟级别及以上的交易数据

平台介绍

证券宝www.baostock.com是一个免费、开源证券数据平台(无需注册)。

  • 提供大量准确、完整的证券历史行情数据、上市公司财务数据等。
  • 通过python API获取证券数据信息,满足量化交易投资者、数量金融爱好者、计量经济从业者数据需求。
  • 返回的数据格式:
    • pandas DataFrame类型,以便于用pandas/NumPy/Matplotlib进行数据分析和可视化。
    • 同时支持通过BaoStock的数据存储功能,将数据全部保存到本地后进行分析。
  • 支持语言:目前版本BaoStock.com目前只支持Python3.5及以上(暂不支持python 2.x)。
  • 持续更新:BaoStock.com还在不断的完善和优化,后续将逐步增加港股、期货、外汇和基金等方面的金融数据,为成为一个免费金融数据平台努力。
  • 分享优化:请通过微信、网站博客或者知乎文章等方式分享给大家,使它能在大家的使用过程中逐步得到改进与提升,以便于更好地为大家提供免费服务。
  • 平台麦克:证券宝BaoStock.com从发布到现在,已经帮助很多用户在数据方面减轻了工作量,同时也得到很多用户的反馈。它将一如既往的以免费、开源的形式分享出来,希望给有需要的朋友带来一些帮助。

下载安装

方式1:pip install baostock

使用国内源安装:

pip install baostock -i https://pypi.tuna.tsinghua.edu.cn/simple/ --trusted-host pypi.tuna.tsinghua.edu.cn

方式2:访问 https://pypi.python.org/pypi/baostock 下载安装

python setup.py install或pip install xxx.whl


注意:程序运行时,文件名、文件夹名不能是baostock。

版本升级

pip install --upgrade baostock

使用前提:

安装Python

安装pandas(pip install pandas)

建议安装Anaconda,以免出现问题(Anaconda是一个开源的Python发行版本,其包含了conda、Python等180多个科学包及其依赖项,下载地址https://www.anaconda.com/download/)。

每日最新数据更新时间:

  • 当前交易日17:30,完成日K线数据入库;
  • 当前交易日20:30,完成分钟K线数据入库;
  • 第二自然日1:30,完成前交易日“其它财务报告数据”入库;

数据范围说明

股票数据

  • 日、周、月K线数据,时间范围:1990-12-19至今。
  • 5、15、30、60分钟K线数据,时间范围:1999-07-26至今。

指数数据

  • 日、周、月K线已经包含指数:综合指数,规模指数,一级行业指数,二级行业指数,策略指数,成长指数,价值指数,主题指数,基金指数,债券指数。
  • 时间范围:2006-01-01至今。

季频财务数据

  • 已经包含的财务数据:部分上市公司资产负债信息、上市公司现金流量信息、上市公司利润信息、上市公司杜邦指标信息。
  • 时间范围:2007年至今。

季频公司报告

  • 上市公司业绩预告信息,时间范围:2003年至今。
  • 上市公司业绩快报信息,时间范围:2006年至今。

 =========================================================================

下面是获取K线数据具体操作过程

A股K线数据

获取历史A股K线数据:query_history_k_data_plus()

方法说明:通过API接口获取A股历史交易数据,可以通过参数设置获取日k线、周k线、月k线,以及5分钟、15分钟、30分钟和60分钟k线数据,适合搭配均线数据进行选股和分析。

返回类型:pandas的DataFrame类型。

能获取1990-12-19至当前时间的数据;

可查询不复权、前复权后复权数据。

使用示例:

import baostock as bs
import pandas as pd

#### 登陆系统 ####
lg = bs.login()
# 显示登陆返回信息
print('login respond error_code:'+lg.error_code)
print('login respond  error_msg:'+lg.error_msg)

#### 获取沪深A股历史K线数据 ####
# 详细指标参数,参见“历史行情指标参数”章节;“分钟线”参数与“日线”参数不同。“分钟线”不包含指数。
# 分钟线指标:date,time,code,open,high,low,close,volume,amount,adjustflag
# 周月线指标:date,code,open,high,low,close,volume,amount,adjustflag,turn,pctChg
rs = bs.query_history_k_data_plus("sh.600000",
    "date,code,open,high,low,close,preclose,volume,amount,adjustflag,turn,tradestatus,pctChg,isST",
    start_date='2017-07-01', end_date='2017-12-31',
    frequency="d", adjustflag="3")
print('query_history_k_data_plus respond error_code:'+rs.error_code)
print('query_history_k_data_plus respond  error_msg:'+rs.error_msg)

#### 打印结果集 ####
data_list = []
while (rs.error_code == '0') & rs.next():
    # 获取一条记录,将记录合并在一起
    data_list.append(rs.get_row_data())
result = pd.DataFrame(data_list, columns=rs.fields)

#### 结果集输出到csv文件 ####   
result.to_csv("D:\\history_A_stock_k_data.csv", index=False)
print(result)

#### 登出系统 ####
bs.logout()

参数含义:

  • code:股票代码,sh或sz.+6位数字代码,或者指数代码,如:sh.601398。sh:上海;sz:深圳。此参数不可为空;
  • fields:指示简称,支持多指标输入,以半角逗号分隔,填写内容作为返回类型的列。详细指标列表见历史行情指标参数章节,日线与分钟线参数不同。此参数不可为空;
  • start:开始日期(包含),格式“YYYY-MM-DD”,为空时取2015-01-01;
  • end:结束日期(包含),格式“YYYY-MM-DD”,为空时取最近一个交易日;
  • frequency:数据类型,默认为d,日k线;d=日k线、w=周、m=月、5=5分钟、15=15分钟、30=30分钟、60=60分钟k线数据,不区分大小写;指数没有分钟线数据;周线每周最后一个交易日才可以获取,月线每月最后一个交易日才可以获取。
  • adjustflag:复权类型,默认不复权:3;1:后复权;2:前复权。已支持分钟线、日线、周线、月线前后复权。 BaoStock提供的是涨跌幅复权算法复权因子,具体介绍见:复权因子简介或者BaoStock复权因子简介

注意:

  • 股票停牌时,对于日线,开、高、低、收价都相同,且都为前一交易日的收盘价,成交量、成交额为0,换手率为空。

如果需要将换手率转为float类型,可使用如下方法转换:result["turn"] = [0 if x == "" else float(x) for x in result["turn"]]

关于复权数据的说明:

BaoStock使用“涨跌幅复权法”进行复权,详细说明参考上文“复权因子简介”。不同系统间采用复权方式可能不一致,导致数据不一致。

“涨跌幅复权法的”优点:可以计算出资金收益率,确保初始投入的资金运用率为100%,既不会因为分红而导致投资减少,也不会因为配股导致投资增加。


与同花顺、通达信等存在不同。

返回示例数据
datecodeopenhighlowclosepreclosevolumeamountadjustflagturntradestatuspctChgisST
2017-07-03sh.60000012.6412.6512.4712.5612.653877894948626467230.1379851—0.7114560
2017-07-04sh.60000012.5512.5812.4112.5512.563665912845843443230.1304421—0.079620
2017-07-05sh.60000012.512.6512.4712.6212.552647050733254246430.09418810.5577670
2017-07-06sh.60000012.6212.7212.5112.6612.623741424147158209630.13312910.3169570
2017-07-07sh.60000012.6212.6912.5512.612.662466729431110153630.0877721—0.4739290
返回数据说明
参数名称参数描述算法说明
date交易所行情日期
code证券代码
open开盘价
high最高价
low最低价
close收盘价
preclose前收盘价见表格下方详细说明
volume成交量(累计 单位:股)
amount成交额(单位:人民币元)
adjustflag复权状态(1:后复权, 2:前复权,3:不复权)
turn换手率[指定交易日的成交量(股)/指定交易日的股票的流通股总股数(股)]*100%
tradestatus交易状态(1:正常交易 0:停牌)
pctChg涨跌幅(百分比)日涨跌幅=[(指定交易日的收盘价-指定交易日前收盘价)/指定交易日前收盘价]*100%
peTTM滚动市盈率(指定交易日的股票收盘价/指定交易日的每股盈余TTM)=(指定交易日的股票收盘价*截至当日公司总股本)/归属母公司股东净利润TTM
pbMRQ市净率(指定交易日的股票收盘价/指定交易日的每股净资产)=总市值/(最近披露的归属母公司股东的权益-其他权益工具)
psTTM滚动市销率(指定交易日的股票收盘价/指定交易日的每股销售额)=(指定交易日的股票收盘价*截至当日公司总股本)/营业总收入TTM
pcfNcfTTM滚动市现率(指定交易日的股票收盘价/指定交易日的每股现金流TTM)=(指定交易日的股票收盘价*截至当日公司总股本)/现金以及现金等价物净增加额TTM
isST是否ST股,1是,0否

注意“前收盘价”说明

证券在指定交易日行情数据的前收盘价,当日发生除权除息时,“前收盘价”不是前一天的实际收盘价,而是根据股权登记日收盘价与分红现金的数量、配送股的数里和配股价的高低等结合起来算出来的价格。

具体计算方法如下:

1、计算除息价:

除息价=股息登记日的收盘价-每股所分红利现金额

2、计算除权价:

送红股后的除权价=股权登记日的收盘价/(1+每股送红股数)

配股后的除权价=(股权登记日的收盘价+配股价*每股配股数)/(1+每股配股数)

3、计算除权除息价

除权除息价=(股权登记日的收盘价-每股所分红利现金额+配股价*每股配股数)/(1+每股送红股数+每股配股数)

“前收盘价”由交易所计算并公布。首发日的“前收盘价”等于“首发价格”。

历史行情指标参数

日线指标参数(包含停牌证券)
参数名称参数描述说明
date交易所行情日期格式:YYYY-MM-DD
code证券代码格式:sh.600000。sh:上海,sz:深圳
open今开盘价格精度:小数点后4位;单位:人民币元
high最高价精度:小数点后4位;单位:人民币元
low最低价精度:小数点后4位;单位:人民币元
close今收盘价精度:小数点后4位;单位:人民币元
preclose昨日收盘价精度:小数点后4位;单位:人民币元
volume成交数量单位:股
amount成交金额精度:小数点后4位;单位:人民币元
adjustflag复权状态不复权、前复权、后复权
turn换手率精度:小数点后6位;单位:%
tradestatus交易状态1:正常交易 0:停牌
pctChg涨跌幅(百分比)精度:小数点后6位
peTTM滚动市盈率精度:小数点后6位
psTTM滚动市销率精度:小数点后6位
pcfNcfTTM滚动市现率精度:小数点后6位
pbMRQ市净率精度:小数点后6位
isST是否ST1是,0否

周、月线指标参数
参数名称参数描述说明算法说明
date交易所行情日期格式:YYYY-MM-DD
code证券代码格式:sh.600000。sh:上海,sz:深圳
open开盘价格精度:小数点后4位;单位:人民币元
high最高价精度:小数点后4位;单位:人民币元
low最低价精度:小数点后4位;单位:人民币元
close收盘价精度:小数点后4位;单位:人民币元
volume成交数量单位:股
amount成交金额精度:小数点后4位;单位:人民币元
adjustflag复权状态不复权、前复权、后复权
turn换手率精度:小数点后6位;单位:%
pctChg涨跌幅(百分比)精度:小数点后6位涨跌幅=[(区间最后交易日收盘价-区间首个交易日前收盘价)/区间首个交易日前收盘价]*100%

5、15、30、60分钟线指标参数(不包含指数)
参数名称参数描述说明
date交易所行情日期格式:YYYY-MM-DD
time交易所行情时间格式:YYYYMMDDHHMMSSsss
code证券代码格式:sh.600000。sh:上海,sz:深圳
open开盘价格精度:小数点后4位;单位:人民币元
high最高价精度:小数点后4位;单位:人民币元
low最低价精度:小数点后4位;单位:人民币元
close收盘价精度:小数点后4位;单位:人民币元
volume成交数量单位:股
amount成交金额精度:小数点后4位;单位:人民币元
adjustflag复权状态不复权、前复权、后复权

 

适用于“大智慧新一代 Level-2 V3.03.08.0801 ”的版本。 附件:数据表结构   ◎代码数据(cndm)结构 字段名 含义 类型 备注 dm 代码 char jc 简称 char ◎行情数据(cnfqhq)结构 字段名 含义 类型 备注 dm 代码 char rq 日期 date kp 开盘 num zg 最高 num zd 最低 num sp 收盘 num sl 成交数量 num je 成交金额 num yz 复权因子 num ◎除权数据(cncq)结构 字段名 含义 类型 备注 dm 代码 char rq 日期 date fh 分红 num sgbl 送股比例 num pgbl 配股比例 num pgjg 配股价格 num ◎股本数据(cngb)结构 字段名 含义 类型 备注 dm 代码 char rq 日期 date zgb 总股本 num ltg 流通A股 num bg B股 num hg H股 num ◎财务指标(cncw)结构 字段名 含义 类型 备注 dm 代码 char rq 日期 date eps 每股收益(全面摊薄) num eps1 每股收益(加权平均) num naps 每股净资产 num roe 净资产收益率(全面摊薄) num roe1 净资产收益率(加权平均) num ◎财务报表(cncwbb)结构 字段名 含义 类型 备注 dm 代码 char rq 日期 date bsdqtzje 短期投资净额 num bsyszkje 应收帐款净额 num bschje 存货净额 num bsldzc 流动资产 num bscqtzje 长期投资净额 num bsgdzc 固定资产 num bswxzc 无形及其他资产 num bszzc 总资产 num bsdqjk 短期借款 num bsyfzk 应付帐款 num bsldfz 流动负债 num bscqfz 长期负债 num bsfz 负债合计 num bsgb 股本 num bsssgdqy 少数股东权益 num bsgdqy 股东权益 num bszbgj 资本公积 num bsyygj 盈余公积 num iszysr 主营业务收入净额 num iszycb 主营业务成本 num iszylr 主营业务利润 num isqtlr 其它业务利润 num isyyfy 营业费用 num isglfy 管理费用 num iscwfy 财务费用 num istzsy 投资收益 num islrze 利润总额 num issds 所得税 num isjlr 净利润 num iskchjlr 扣除经常性损益后的净利润 num iswfplr 未分配利润 num cfjyhdxjlr 经营活动现金流入 num cfjyhdxjlc 经营活动现金流出 num cfjyhdxjje 经营活动现金净额 num cftzxjlr 投资现金流入 num cftzxjlc 投资现金流出 num cftzxjje 投资现金净额 num cfczxjlr 筹措现金流入 num cfczxjlc 筹措现金流出 num cfczxjje 筹措现金净额 num cfxjjze 现金及现金等价物净增额 num cfxsspxj 销售商品收到的现金 num mgsy 每股收益 num mgjzc 每股净资产 num tzmgjzc 调整后每股净资产 num mgzbgjj 每股资本公积金 num mgwfplr 每股未分配利润 num mgjyxjllje 每股经营活动产生的现金流量净额 num mgxjzjje 每股现金及现金等价物增加净额 num mll 毛利率 num zyywlrl 主营业务利润率 num jll 净利率 num zzcbcl 总资产报酬率 num jzcsyl 净资产收益率 num xsxjzb 销售商品收到的现金占主营收入比例 num yszczzl 应收帐款周转率 num chzzl 存货周转率 num gdzczzl 固定资产周转率 num zyywzzl 主营业务增长率 num jlrzzl 净利润增长率 num zzczzl 总资产增长率 num jzczzl 净资产增长率 num ldbl 流动比率 num sdbl 速动比率 num zcfzbl 资产负债比率 num fzbl 负债比率 num gdqybl 股东权益比率 num gdzcbl 固定资产比率 num kchmgjlr 扣除经常性损益后每股净利润 num ◎交易日期(cnrq)结构 字段名 含义 类型 备注 rq 交易日期 date ◎板块数据(cnbk)结构 字段名 含义 类型 备注 lb 类别 char bk 板块 char dm 代码 char zz 创建者 char ◎存款利率(cnll)结构 字段名 含义 类型 备注 dm 代码 char jc 简称 char rq 变动日期 date ll 利率 num ◎港股代码(hkdm)结构 字段名 含义 类型 备注 dm 代码 char jc 简称 char ◎港股行情(hkhq)结构 字段名 含义 类型 备注 dm 代码 char rq 日期 date kp 开盘 num zg 最高 num zd 最低 num sp 收盘 num sl 成交数量 num je 成交金额 num FxjData2FinData程序有上千行 调用方法: /************************************************************************************* 使用说明: 1)调用格式:FxjData2FinData(Market,DataType,FinDataLib) 其中, Market:市场代码,SH为沪市,SZ为深市,BK为板块指数,如果有其它市场数据,可有其它市场代码如HK等. DataType:数据类型,dm,cq,cw0,hq0,hq,等等,含义见下面注释 FinDataLib:目标逻辑库,如果给定的目标逻辑库不存在,则将设为Work 2)如果数据文件已经被分析家等软件占用导致无法打开时,将自动复制一份该文件,并从该备份文件中读取数据. 3)程序将自动补充数据,即如果目标表不存在,则建立并添加数据,如果目标表已存在,则判断表中每只证券的最新 数据,然后只添加数据表中所缺少的数据. ***************************************************************************************/ /*请修改以下的参数*/ %let FxjPath=C:\fxj\;/*分析家安装目录*/ /*HqmbFilesToRead=分笔成交读取文件数.若为1则只读取report.dat, 若为值n,则除了读取Report.dat外还将读取(n-1)个最新.PRP历史分笔成交数据文件*/ %let HqmbFilesToRead=2; /*请确认要转换的数据,在下面语句的%后加*变为注释取消转换*/ /*沪市*/ %FxjData2FinData(sh,dm,FinData); /*dm--证券代码,原数据集将保存为xxDM_bak*/ %FxjData2FinData(sh,cq,FinData); /*cq--除权数据*/ %FxjData2FinData(sh,cw0,FinData); /*cw0--最新财务数据*/ %FxjData2FinData(sh,hq0,FinData); /*hq0--最新行情*/ %FxjData2FinData(sh,hq,FinData); /*hq--每日行情*/ %FxjData2FinData(sh,hqmb,FinData); /*hqmb--每笔成交*/ %FxjData2FinData(sh,hq5,FinData);/*hq5--5分钟行情*/ %FxjData2FinData(sh,fp,FinData);/*fp--分红送配(专业财务数据)*/ %FxjData2FinData(sh,gb,FinData);/*gb--股本结构(专业财务数据)*/ %FxjData2FinData(sh,cw,FinData);/*cw--财务数据(专业财务数据)*/ %FxjData2FinData(sh,gd,FinData);/*gd--十大股东(专业财务数据)*/ %FxjData2FinData(sh,jjjz,FinData);/*jjjz--基金净值(专业财务数据)*/ %FxjData2FinData(sh,jjzh,FinData);/*jjzh--基金投资组合(专业财务数据)*/ /*深市*/ %FxjData2FinData(sz,dm,FinData); %FxjData2FinData(sz,cq,FinData); %FxjData2FinData(sz,cw0,FinData); %FxjData2FinData(sz,hq0,FinData); %FxjData2FinData(sz,hq,FinData); %FxjData2FinData(sz,hqmb,FinData); %FxjData2FinData(sz,hq5,FinData); %FxjData2FinData(sz,fp,FinData); %FxjData2FinData(sz,gb,FinData); %FxjData2FinData(sz,cw,FinData); %FxjData2FinData(sz,gd,FinData); %FxjData2FinData(sz,jjjz,FinData); %FxjData2FinData(sz,jjzh,FinData); /*板块及板块指数*/ %FxjData2FinData(bk,zh,FinData);/*板块数据:Market=bk,DataType=zh,...*/ %FxjData2FinData(bk,dm,FinData); %FxjData2FinData(bk,hq0,FinData); %FxjData2FinData(bk,hq,FinData); %FxjData2FinData(bk,hqmb,FinData); %FxjData2FinData(bk,hq5,FinData); /*香港市场*/ %*FxjData2FinData(hk,dm,FinData); %*FxjData2FinData(hk,hq0,FinData); %*FxjData2FinData(hk,hq,FinData); %*FxjData2FinData(hk,hqmb,FinData); %*FxjData2FinData(hk,hq5,FinData); 大智慧新一代 2.08.07.0907 数据格式 作者:root 日期:2007-12-12 字体大小: 小 中 大 备忘 日线数据文件day.dat case DataTypes.hq: fileName = "DAY.DAT"; startAddress = 0x41000; blockSize = 8192; recordSize = 32; codeIsLong = false; fieldString = "dm,代码,code,10,0,0,;" + "rq,日期,date,4,1,0,;" + "kp,开盘,single,4,2,4,B;" + "zg,最高,single,4,3,8,B;" + "zd,最低,single,4,4,12,B;" + "sp,收盘,single,4,5,16,B;" + "sl,成交数量,single,4,6,20,A;"+ "je,成交金额,single,4,7,24,";    数据格式几乎与分析家相同 起止地址 数据内容 数据含义 数据类型 00 - 03 F4 9B 13 FC 文件标志 int 04 - 07 00 06 00 00 未知 int 08 - 0B 00 00 00 00 保留 int 0C - 0F 97 04 00 00 证券总数 int 10 - 13 00 18 00 00 未知 int需添加之起始块号 14 - 17 DB 17 00 00 未知 int当前最后空块号 18 - 21 31 41 30 30 30...FF 证券代码 byte[10] 22 - 25 B0 09 00 00 日线记录数 int 26 - 57 00 00 25 04...FF FF 记录块号 char[25] ...... 记录块开始于0x41000 41000 - 41003 80 47 B2 2B 日期 int 41004 - 41007 B9 1E 25 41 开盘价 float 41008 - 4100B CD CC 4C 41 最高价 float 4100C - 4100F EC 51 18 41 最低价 float 41010 - 41013 9A 99 41 41 收盘价 float 41014 - 41017 80 06 B2 47 成交量 float 41018 - 4101B 40 1C BC 4C 成交金额 float 4101C - 4101D 00 00 上涨家数 char 4101E - 4101F 00 00 下跌家数 char 注:    1)起止地址、数据内容为十六进制,数据类型为 Delphi 下之定义。    2)从18h开始至40017h每64byte为一条股票数据分配记录,含义如上表18h - 57h所示;    3)从41000h开始每8KB为一股票数据存储块,每个股票数据存储块共存储256条日线记录,     每一条记录的长度为32 byte(含义如上表;上涨家数及下跌家数只对指数有效);    4)从41000h开始的8KB为第0号数据存储块,以后类推;    5)系统对每个股票日线数据存储以存储块为单位进行分配。    6)具体应用实例分析家数据管理程序。    7) 日期字段的意义为:实际日期 = StrToDate(^1970-01-01^)+(日期字段 div 86400);     即“日期字段”除以86400所得数为实际日期距1970年01月01日的天数。 有关块号计算方法,请参见分笔成交数据格式 日期字段的意义为:实际日期 = StrToDate(^1970-01-01^)+(日期字段 div 86400);  即“日期字段”除以86400所得数为实际日期距1970年01月01日的天数 1分钟数据文件min1.dat case DataTypes.hq1: fileName = "MIN1.DAT"; startAddress = 0x41000; blockSize = 12288;//8192 recordSize = 32; codeIsLong = false; fieldString = "dm,代码,code,10,0,0,;" + "rq,日期,datetime,4,1,0,;" + "kp,开盘,single,4,2,4,B;" + "zg,最高,single,4,3,8,B;" + "zd,最低,single,4,4,12,B;" + "sp,收盘,single,4,5,16,B;" + "sl,成交数量,single,4,6,20,A;"+ "je,成交金额,single,4,7,24,"; 5分钟数据文件min.dat case DataTypes.hq5: fileName = "MIN.DAT"; startAddress = 0x41000; blockSize = 8192; recordSize = 32; codeIsLong = false; fieldString = "dm,代码,code,10,0,0,;" + "rq,日期,datetime,4,1,0,;" + "kp,开盘,single,4,2,4,B;" + "zg,最高,single,4,3,8,B;" + "zd,最低,single,4,4,12,B;" + "sp,收盘,single,4,5,16,B;" + "sl,成交数量,single,4,6,20,A;" + "je,成交金额,single,4,7,24,"; 最新行情STKINFO60.dat case DataTypes.hq0: fileName = "STKINFO60.DAT"; startAddress = 0x68A8A6; blockSize = 0; recordSize = 273; codeIsLong = false; isIndexDataStruct = false; fieldString = "dm,代码,code,10,0,0,;" + "jc,简称,string,32,1,10,;" + "rq,更新时间,datetime,4,5,60,;" + "zs,昨收,single,4,7,68,;" + "kp,今开,single,4,8,72,;" + "zg,最高,single,4,9,76,;" + "zd,最低,single,4,10,80,;" + "sp,最新,single,4,11,84,;" + "sl,总手数,single,4,12,88,;" + "je,金额,single,4,13,92,;" + "xss,现手数,single,4,14,96,;" + "ztj,涨停价,single,4,27,184,;" + "dtj,跌停价,single,4,28,188,;" + "np,内盘,single,4,27,192,;" + "wp,外盘,single,4,28,196,;" + "mrjg1,买一价,single,4,15,100,;" + "mrsl1,买一量,single,4,18,120,;" + "mrjg2,买二价,single,4,16,104,;" + "mrsl2,买二量,single,4,19,124,;" + "mrjg3,买三价,single,4,17,108,;" + "mrsl3,买三量,single,4,20,128,;" + "mrjg4,买四价,single,4,32,112,;" + "mrsl4,买四量,single,4,34,132,;" + "mrjg5,买五价,single,4,33,116,;" + "mrsl5,买五量,single,4,35,136,;" + "mcjg1,卖一价,single,4,21,140,;" + "mcsl1,卖一量,single,4,24,160,;" + "mcjg2,卖二价,single,4,22,144,;" + "mcsl2,卖二量,single,4,25,164,;" + "mcjg3,卖三价,single,4,23,148,;" + "mcsl3,卖三量,single,4,26,168,;" + "mcjg4,卖四价,single,4,36,152,;" + "mcsl4,卖四量,single,4,38,172,;" + "mcjg5,卖五价,single,4,37,156,;" + "mcsl5,卖五量,single,4,39,176,"; //"jd,精度,int,4,3,52,;" + //"scbz,删除标志,int,4,4,56,"; //"unknown,(未知),int,4,31,164,;" + //",(未知),,48,40,200,;" 分笔成交数据文件report.dat(结构同day.dat,但其中一些数据不是直接保存) case DataTypes.hqmb: fileName = "REPORT.DAT"; startAddress = 0x41000; blockSize = 12272; recordSize = 52; codeIsLong = false; isIndexDataStruct = false;//不完全等同于day.dat结构,因此单独处理 fieldString = "dm,代码,code,10,0,0,;" + "rq,日期,datetime,4,0,0,;" + "zjcj,最近成交价,single,4,1,4,;" + "zss,总手数,single,4,2,8,calc;" + "je,金额,single,4,3,12,;" + "xss,现手数,single,4,2,8,;" + "mm,内外盘,string,2,16,21,;" + "mr1jg,买一价,single,1,10,42,;" + "mr1sl,买一量,single,2,4,22,;" + "mr2jg,买二价,single,1,11,43,;" + "mr2sl,买二量,single,2,5,24,;" + "mr3jg,买三价,single,1,12,44,;" + "mr3sl,买三量,single,2,6,26,;" + "mr4jg,买四价,single,1,12,45,;" + "mr4sl,买四量,single,2,6,28,;" + "mr5jg,买五价,single,1,12,46,;" + "mr5sl,买五量,single,2,6,30,;" + "mc1jg,卖一价,single,1,13,47,;" + "mc1sl,卖一量,single,2,7,32,;" + "mc2jg,卖二价,single,1,14,48,;" + "mc2sl,卖二量,single,2,8,34,;" + "mc3jg,卖三价,single,1,15,49,;" + "mc3sl,卖三量,single,2,9,36,;"+ "mc4jg,卖四价,single,1,14,50,;" + "mc4sl,卖四量,single,2,8,38,;" + "mc5jg,卖五价,single,1,14,51,;" + "mc5sl,卖五量,single,2,8,40,;" + "bs,总笔数,int,2,0,16," ; //以上数据类型不是存储类型,程序中不直接用实际数据类型:买/卖X量为short,买/卖X价为byte //现手数通过当总手数计算而得,应该放在总手数后面 大智慧新一代Level-2 分笔成交数据格式 起止地址 数据内容 数据含义 数据类型 00 - 03 F4 9B 13 FC 日线文件标志 int 04 - 07 10 02 00 00 未知 int 08 - 0B 00 43 DF 46 1970.01.01 00:00:00始的秒数 int 0C - 0F 5D 05 00 00 证券总数 int 10 - 13 ED 20 00 00 未知 int 14 - 17 ED 20 00 00 未知 int 18 - 21 30 30 30 30 30 31 00 00 证券代码 byte[10] 22 - 25 9C 12 00 00 日分笔记录数 int 26 - 57 00 00 BA 03...FF FF 记录块号 char[25] 00041000 记录页起始点, 每记录长: 0x34 = 52 每页记录数: 0xEC = 236 每页长: 每记录长0x34 * 每页记录数0xEC = 0x2FF0 = 12272 地 址 数据内容 数据含义 数据类型 41000 - 41003 35 FA DF 46 1970.01.01 00:00:00 始的秒数 int 41004 - 41007 00 00 18 41 最新价 float 41008 - 4100B 00 80 B4 43 累计成交量 float 4100C - 4100F 80 46 A7 48 累计成交金额 float 41010 - 41011 51 9C 累计成交笔数 char 41012 - 41013 00 00 未知 char 41014 10 累计成交笔数的溢出标志(00|10) byte 41015 80 买入,卖出标识(80|E0买入,C0|A0卖出) byte 41016 - 41017 23 01 委买量1 char 41018 - 41019 8E 5B 委买量2 char 4101A - 4101B 80 27 委买量3 char 4101C - 4101D 8E 5B 委买量4 char 4101E - 4101F B8 40 委买量5 char 41020 - 41021 23 01 委卖量1 char 41022 - 41023 8E 5B 委卖量2 char 41024 - 41025 80 27 委卖量3 char 41026 - 41027 8E 5B 委卖量4 char 41028 - 41029 B8 40 委卖量5 char 4102A 16 委买价1 与成交价的差 byte 4102B 9A 委买价2 与成交价的差 byte 4102C 80 委买价3 与成交价的差 byte 4102D 40 委卖价4 与成交价的差 byte 4102E 30 委卖价5 与成交价的差 byte 4102F 57 委卖价1 与成交价的差 byte 41030 68 委卖价2 与成交价的差 byte 41031 69 委卖价3 与成交价的差 byte 41032 7A 委卖价4 与成交价的差 byte 41033 81 委卖价5 与成交价的差 byte 注意: 1、如有疑问请与 QQ 8588711 联系,愿与您共同挖掘股票成交数据。 2、数据类型为JAVA数据类型定义,实际读数据时应该将数据十六进制取反,如:41000 - 41003的数据为 35 FA DF 46,实际应该读成:   0x46DFFA35 = 1189083701, 这个1189083701值就是距1970.01.01 00:00:00 始的实际秒数。其他int,float,char都是这样取反的。 3、委买卖与成交价的差,是小数点后的整数差,如果买卖标识为80或C0,成交价小数点后是两位(股票),如果买卖标识为E0或A0,   成交价小数点后是三位(权证等) 4、累计成交笔数如果溢出,则41014位上的值不为00,而是10或者20,30等,成交笔数计算方法应为:41014位上的值反转,   10转为01,20转为02。。。 再与41010 - 41011位上的值合并成一个16进制串。 5、记录块号计算方法:char[0] = 0x00 第一个记录块起始地址为:41000h + 0x0000 * 0x2FF0 = 41000h,char[1] = 0x03BA   则第二个记录块起始地址为:41000h + 0x03BA * 0x2FF0 = 0x00077F78 标签: 财经 近日发现Level-2的逐笔成交数据是缓存在dzh2\data\sh\TEMP目录下,文件名以证券代码为名,后辍是.L2D,如果重启大智慧, L2D文件会全部被删除,而且临时文件只有在浏览过该证券的逐笔成交后才会生成,不过花的时间也不算太多。也许以后会要研究 逐笔成交数据了,这样的数据更有意义,读数据不是问题,最主要的是分析方法,当得到盘口异动数据后,还需要结合信息面来操作, 这样的成功几率非常大,我已经初尝胜果。后面,还要通过数据来分析大盘走势,还有通过行业数据异动,发现基金等大资金的中短期 目标,这点也非常之重要。这个十一假期,过得不会很闲,还有很多东西要做、、、 现在也不想接受QQ加好友请求,真正做数据盘口 分析的,发现数据格式,马上就已经投入战斗了,而且一看就会明了。在这个市场,每个人都有自己的方式生存,没有拿手绝活,那 是不要随便来玩的。逐笔成交数据格式,大概也会在不久后弄个明白。 财务数据(简单)STKINFO60.dat case DataTypes.cw0: fileName = "STKINFO60.DAT"; startAddress = 0x4c2a; blockSize = 2227; recordSize = 273;//196 codeIsLong = false; isIndexDataStruct = false; fieldString = "dm,代码,code,10,0,0,;" + "rq,报告期,date,4,0,4,;" + "gxrq,更新日期,date,4,0,0,;" + "ssrq,上市日期,date,4,0,8,;" + "col1,每股收益,single,4,0,12,;" + "col2,每股净资产,single,4,0,16,;" + "col3,净资产收益率,single,4,0,20,;" + "col4,每股经营现金,single,4,0,24,;" + "col5,每股公积金,single,4,0,28,;" + "col6,每股未分配,single,4,0,32,;" + "col7,股东权益比,single,4,0,36,;" + "col8,净利润同比,single,4,0,40,;" + "col9,主营收入同比,single,4,0,44,;" + "col10,销售毛利率,single,4,0,48,;" + "col11,调整每股净资产,single,4,0,52,;" + "col12,总资产,single,4,0,56,;" + "col13,流动资产,single,4,0,60,;" + "col14,固定资产,single,4,0,64,;" + "col15,无形资产,single,4,0,68,;" + "col16,流动负债,single,4,0,72,;" + "col17,长期负债,single,4,0,76,;" + "col18,总负债,single,4,0,80,;" + "col19,股东权益,single,4,0,84,;" + "col20,资本公积金,single,4,0,88,;" + "col21,经营现金流量,single,4,0,92,;" + "col22,投资现金流量,single,4,0,96,;" + "col23,筹资现金流量,single,4,0,100,;" + "col24,现金增加额,single,4,0,104,;" + "col25,主营收入,single,4,0,108,;" + "col26,主营利润,single,4,0,112,;" + "col27,营业利润,single,4,0,116,;" + "col28,投资收益,single,4,0,120,;" + "col29,营业外收支,single,4,0,124,;" + "col30,利润总额,single,4,0,128,;" + "col31,净利润,single,4,0,132,;" + "col32,未分配利润,single,4,0,136,;" + "col33,总股本,single,4,0,140,;" + "col34,无限售股合计,single,4,0,144,;" + "col35,A股,single,4,0,148,;" + "col36,B股,single,4,0,152,;" + "col37,境外上市股,single,4,0,156,;" + "col38,其他流通股,single,4,0,160,;" + "col39,限售股合计,single,4,0,164,;" + "col40,国家持股,single,4,0,168,;" + "col41,国有法人股,single,4,0,172,;" + "col42,境内法人股,single,4,0,176,;" + "col43,境内自然人股,single,4,0,180,;" + "col44,其他发起人股,single,4,0,184,;" + "col45,募集法人股,single,4,0,188,;" + "col46,境外法人股,single,4,0,192,;" + "col47,境外自然人股,single,4,0,196,;" + "col48,优先股或其他,single,4,0,200,"; 分红送配STKINFO60.dat case DataTypes.cq: fileName = "STKINFO60.DAT"; startAddress = 0x44aa; blockSize = 2227; recordSize = 20; codeIsLong = false; isIndexDataStruct = false; fieldString = "dm,代码,code,10,0,0,;" + "rq,日期,date,4,0,0,;" + "sgbl,送股比例,single,4,1,4,;" + "pgbl,配股比例,single,4,2,8,;" + "pgjg,配股价格,single,4,3,12,;" + "fh,分红,single,4,4,16,"; 代码表STKINFO60.dat case DataTypes.dm: fileName = "STKINFO60.DAT"; startAddress = 0x68A8A6; blockSize = 0; recordSize = 273;//fxj248 codeIsLong = false; isIndexDataStruct = false; fieldString = "dm,代码,code,10,0,0,;" + "jc,简称,string,32,1,10,"; struct fileStruct { public string fileName;//文件名 public int startAddress,blockSize,recordSize;//起始地址,每块长度,记录长度 public bool codeIsLong, isIndexDataStruct; //codeIsLong索引中的代码包含有市场代码SH、SZ等;isIndexDataStruct象Day.Dat那样的结构即由索引+数据组成; public string[,] fields;//字段 public fileStruct(DataTypes fileType) { fileName = ""; startAddress = 0; blockSize = 0; recordSize = 0; codeIsLong = false; isIndexDataStruct = true; string fieldString = ""; //字段名,字段标签,类型,长度字段,存储顺序,偏移量 switch (fileType) { #region 代码表STKINFO60.DAT//代码的拼音是乱码,有可能拼音简写未存盘,而是由大智慧软件另行计算。 case DataTypes.dm: fileName = "STKINFO60.DAT"; //startAddress = 0x845898; startAddress = 0x6d0226; //startAddress = 0x68A8A6; blockSize = 0; //recordSize = 248;//原分析家 recordSize = 273; codeIsLong = false; isIndexDataStruct = false; fieldString = "dm,代码,code,10,0,0,;" + "jc,简称,string,32,1,10,;" + "py,拼音,string,10,2,42,"; break; #endregion #region 分红送配STKINFO60.DAT//除权数据//OK case DataTypes.cq: fileName = "STKINFO60.DAT"; startAddress = 0x44aa; blockSize = 2227; recordSize = 20; codeIsLong = false; isIndexDataStruct = false; fieldString = "dm,代码,code,10,0,0,;" + "rq,日期,date,4,0,0,;" + "sgbl,送股比例,single,4,1,4,;" + "pgbl,配股比例,single,4,2,8,;" + "pgjg,配股价格,single,4,3,12,;" + "fh,分红,single,4,4,16,"; break; #endregion #region 财务数据(简单)STKINFO60.DAT//OK case DataTypes.cw0: fileName = "STKINFO60.DAT"; startAddress = 0x4c2a; blockSize = 2227; recordSize = 273; codeIsLong = false; isIndexDataStruct = false; fieldString = "dm,代码,code,10,0,0,;" + "rq,报告期,date,4,0,4,;" + "gxrq,更新日期,date,4,0,0,;" + "ssrq,上市日期,date,4,0,8,;" + "col1,每股收益,single,4,0,12,;" + "col2,每股净资产,single,4,0,16,;" + "col3,净资产收益率,single,4,0,20,;" + "col4,每股经营现金,single,4,0,24,;" + "col5,每股公积金,single,4,0,28,;" + "col6,每股未分配,single,4,0,32,;" + "col7,股东权益比,single,4,0,36,;" + "col8,净利润同比,single,4,0,40,;" + "col9,主营收入同比,single,4,0,44,;" + "col10,销售毛利率,single,4,0,48,;" + "col11,调整每股净资产,single,4,0,52,;" + "col12,总资产,single,4,0,56,;" + "col13,流动资产,single,4,0,60,;" + "col14,固定资产,single,4,0,64,;" + "col15,无形资产,single,4,0,68,;" + "col16,流动负债,single,4,0,72,;" + "col17,长期负债,single,4,0,76,;" + "col18,总负债,single,4,0,80,;" + "col19,股东权益,single,4,0,84,;" + "col20,资本公积金,single,4,0,88,;" + "col21,经营现金流量,single,4,0,92,;" + "col22,投资现金流量,single,4,0,96,;" + "col23,筹资现金流量,single,4,0,100,;" + "col24,现金增加额,single,4,0,104,;" + "col25,主营收入,single,4,0,108,;" + "col26,主营利润,single,4,0,112,;" + "col27,营业利润,single,4,0,116,;" + "col28,投资收益,single,4,0,120,;" + "col29,营业外收支,single,4,0,124,;" + "col30,利润总额,single,4,0,128,;" + "col31,净利润,single,4,0,132,;" + "col32,未分配利润,single,4,0,136,;" + "col33,总股本,single,4,0,140,;" + "col34,无限售股合计,single,4,0,144,;" + "col35,A股,single,4,0,148,;" + "col36,B股,single,4,0,152,;" + "col37,境外上市股,single,4,0,156,;" + "col38,其他流通股,single,4,0,160,;" + "col39,限售股合计,single,4,0,164,;" + "col40,国家持股,single,4,0,168,;" + "col41,国有法人股,single,4,0,172,;" + "col42,境内法人股,single,4,0,176,;" + "col43,境内自然人股,single,4,0,180,;" + "col44,其他发起人股,single,4,0,184,;" + "col45,募集法人股,single,4,0,188,;" + "col46,境外法人股,single,4,0,192,;" + "col47,境外自然人股,single,4,0,196,;" + "col48,优先股或其他,single,4,0,200,"; break; #endregion #region 最新行情STKINFO60.DAT//OK case DataTypes.hq0: fileName = "STKINFO60.DAT"; startAddress = 0x6D0226; blockSize = 0; recordSize = 273; codeIsLong = false; isIndexDataStruct = false; fieldString = "dm,代码,code,10,0,0,;" + "jc,简称,string,32,1,10,;" + "rq,更新时间,datetime,4,5,60,;" + "zs,昨收,single,4,7,68,;" + "kp,今开,single,4,8,72,;" + "zg,最高,single,4,9,76,;" + "zd,最低,single,4,10,80,;" + "sp,最新,single,4,11,84,;" + "sl,总手数,single,4,12,88,;" + "je,金额,single,4,13,92,;" + "xss,现手数,single,4,14,96,;" + "ztj,涨停价,single,4,27,184,;" + "dtj,跌停价,single,4,28,188,;" + "np,内盘,single,4,27,192,;" + "wp,外盘,single,4,28,196,;" + "mrjg1,买一价,single,4,15,100,;" + "mrsl1,买一量,single,4,18,120,;" + "mrjg2,买二价,single,4,16,104,;" + "mrsl2,买二量,single,4,19,124,;" + "mrjg3,买三价,single,4,17,108,;" + "mrsl3,买三量,single,4,20,128,;" + "mrjg4,买四价,single,4,32,112,;" + "mrsl4,买四量,single,4,34,132,;" + "mrjg5,买五价,single,4,33,116,;" + "mrsl5,买五量,single,4,35,136,;" + "mcjg1,卖一价,single,4,21,140,;" + "mcsl1,卖一量,single,4,24,160,;" + "mcjg2,卖二价,single,4,22,144,;" + "mcsl2,卖二量,single,4,25,164,;" + "mcjg3,卖三价,single,4,23,148,;" + "mcsl3,卖三量,single,4,26,168,;" + "mcjg4,卖四价,single,4,36,152,;" + "mcsl4,卖四量,single,4,38,172,;" + "mcjg5,卖五价,single,4,37,156,;" + "mcsl5,卖五量,single,4,39,176,"; //"jd,精度,int,4,3,52,;" + //"scbz,删除标志,int,4,4,56,"; //"unknown,(未知),int,4,31,164,;" + //",(未知),,48,40,200,;" break; #endregion #region 分笔成交数据文件report.dat(结构同day.dat,但其中一些数据不是直接保存)//OK case DataTypes.hqmb: fileName = "REPORT.DAT"; //fileName = "20080926.PRP"; startAddress = 0x41000; blockSize = 12272;//52*236=12272 recordSize = 52; codeIsLong = false; isIndexDataStruct = false;//不完全等同于day.dat结构,因此单独处理 fieldString = "dm,代码,code,10,0,0,;" + "rq,日期,datetime,4,0,0,;" + "zjcj,最近成交价,single,4,1,4,;" + "zss,总手数,single,4,2,8,calc;" + "je,金额,single,4,3,12,;" + "xss,现手数,single,4,2,8,;" + "mm,内外盘,string,2,16,21,;" + "mr1jg,买一价,single,1,10,42,;" + "mr1sl,买一量,single,2,4,22,;" + "mr2jg,买二价,single,1,11,43,;" + "mr2sl,买二量,single,2,5,24,;" + "mr3jg,买三价,single,1,12,44,;" + "mr3sl,买三量,single,2,6,26,;" + "mr4jg,买四价,single,1,12,45,;" + "mr4sl,买四量,single,2,6,28,;" + "mr5jg,买五价,single,1,12,46,;" + "mr5sl,买五量,single,2,6,30,;" + "mc1jg,卖一价,single,1,13,47,;" + "mc1sl,卖一量,single,2,7,32,;" + "mc2jg,卖二价,single,1,14,48,;" + "mc2sl,卖二量,single,2,8,34,;" + "mc3jg,卖三价,single,1,15,49,;" + "mc3sl,卖三量,single,2,9,36,;" + "mc4jg,卖四价,single,1,14,50,;" + "mc4sl,卖四量,single,2,8,38,;" + "mc5jg,卖五价,single,1,14,51,;" + "mc5sl,卖五量,single,2,8,40,;" + "bs,总笔数,int,2,0,16," ; //以上数据类型不是存储类型,程序中不直接用实际数据类型:买/卖X量为short,买/卖X价为byte //现手数通过当总手数计算而得,应该放在总手数后面 break; #endregion #region 日线数据文件day.dat//OK case DataTypes.hq: fileName = "DAY.DAT"; startAddress = 0x41000; blockSize = 8192; recordSize = 32; codeIsLong = false; fieldString = "dm,代码,code,10,0,0,;" + "rq,日期,date,4,1,0,;" + "kp,开盘,single,4,2,4,B;" + "zg,最高,single,4,3,8,B;" + "zd,最低,single,4,4,12,B;" + "sp,收盘,single,4,5,16,B;" + "sl,成交数量,single,4,6,20,A;"+ "je,成交金额,single,4,7,24,"; break; #endregion #region 1分钟数据文件min1.dat case DataTypes.hq1: fileName = "MIN1.DAT"; startAddress = 0x41000; blockSize = 16384;//块大小为:/32=;原分析家是 recordSize = 32; codeIsLong = false; fieldString = "dm,代码,code,10,0,0,;" + "rq,日期,datetime,4,1,0,;" + "kp,开盘,single,4,2,4,B;" + "zg,最高,single,4,3,8,B;" + "zd,最低,single,4,4,12,B;" + "sp,收盘,single,4,5,16,B;" + "sl,成交数量,single,4,6,20,A;"+ "je,成交金额,single,4,7,24,"; break; #endregion #region 5分钟数据文件min.dat//OK case DataTypes.hq5: fileName = "MIN.DAT"; startAddress = 0x41000; blockSize = 8192; recordSize = 32; codeIsLong = false; fieldString = "dm,代码,code,10,0,0,;" + "rq,日期,datetime,4,1,0,;" + "kp,开盘,single,4,2,4,B;" + "zg,最高,single,4,3,8,B;" + "zd,最低,single,4,4,12,B;" + "sp,收盘,single,4,5,16,B;" + "sl,成交数量,single,4,6,20,A;"+ "je,成交金额,single,4,7,24,"; break; #endregion #region 分红送配数据文件exprof.fdt case DataTypes.fp: fileName = "EXPROF.FDT"; startAddress = 0x41000; blockSize = 3776; recordSize = 236; codeIsLong = true; fieldString = "dm,代码,code,12,0,0,;"+ "cqrq,除权日期,date,4,23,176,;" + "sgbl,送股比例,double,8,1,12,;" + "sgdjr,送股股权登记日,date,4,2,20,;"+ "sgcqr,送股除权日,date,4,3,24,;"+ "sgssr,红股上市日,date,4,4,28,;"+ "zzbl,转增比例,double,8,5,32,;"+ "zzdjr,转增股权登记日,date,4,6,40,;"+ "zzcqr,转增除权日,date,4,7,44,;"+ "zzssr,转增上市日,date,4,8,48,;"+ "fhbl,分红比例,double,8,9,52,;"+ "fhdjr,分红股权登记日,date,4,10,60,;" + "fhcxr,分红除息日,date,4,11,64,;" + "fhpxr,分红派息日,date,4,12,68,;" + "pgbl,配股比例,double,8,13,72,;"+ "pgdjr,配股股权登记日,date,4,14,80,;"+ "pgcqr,配股除权基准日,date,4,15,84,;"+ "pgjkqsr,配股缴款起始日,date,4,16,88,;"+ "pgjkzzr,配股缴款终止日,date,4,17,92,;"+ "pgssr,配股可流通上市日,date,4,18,96,;"+ "pgjg,配股价格,single,4,19,100,;"+ "frgpgbl,公众股受让法人股配股比例,double,8,20,104,;"+ "frgmgzrf,认购法人股配股每股转让费,single,4,21,112,;"+ "pgzcxs,配股主承销商,string,60,22,116,;"+ "bgrq,报告日期,date,4,24,180,;"+ "dshrq,董事会日期,date,4,25,184,;"+ "gdhrq,股东会日期,date,4,26,188,;"+ "fhggrq,分红公告日期,date,4,27,192,;"+ "zgbjs,总股本基数,double,8,28,196,;"+ "sgsl,送股数量,double,8,29,204,;"+ "zzsl,转增数量,double,8,30,212,;"+ "sjpgs,实际配股总数,double,8,31,220,;"+ "cqhzgb,除权后总股本,double,8,32,228"; break; #endregion #region 股本结构STKCapital.fdt case DataTypes.gb: fileName = "STKCAPITAL.FDT"; startAddress = 0x41000; blockSize = 3488; recordSize = 218; codeIsLong = true; fieldString = "dm,代码,code,12,0,0;" + "rq,日期,date,4,17,214;"+ "zgb,总股本,double,8,1,12;" + "gjg,国家股,double,8,2,20;" + "fqrg,发起人股,double,8,3,28;" + "frg,法人股,double,8,4,36;" + "ybfrps,一般法人配售,double,8,5,44;" + "zgg,内部职工股,double,8,6,52;" + "a,流通A股,double,8,7,60;" + "zltzag,战略投资A股,double,8,8,68;" + "zpg,转配股,double,8,9,76;" + "jjps,基金配售,double,8,10,84;" + "h,H股,double,8,11,92;" + "b,B股,double,8,12,100;" + "yxg,优先股,double,8,13,108;" + "ggcg,高级管理人员持股,double,8,14,116;" + "gbbdyy,股本变动原因,string,56,15,124;" + "gbbdyylb,股本变动原因类别,string,34,16,180"; break; #endregion #region 财务数据STKFinance.fdt case DataTypes.cw: fileName = "STKFINANCE.FDT"; startAddress = 0x41000; blockSize = 14848; recordSize = 464; codeIsLong = true; fieldString = "dm,代码,code,12,0,0,;"+ "rq,日期,date,4,,460,;"+ "bsdqtzje,短期投资净额,double,8,1,12,;"+ "bsyszkje,应收帐款净额,double,8,2,20,;"+ "bschje,存货净额,double,8,3,28,;"+ "bsldzc,流动资产,double,8,4,36,;"+ "bscqtzje,长期投资净额,double,8,5,44,;"+ "bsgdzc,固定资产,double,8,6,52,;"+ "bswxzc,无形及其他资产,double,8,7,60,;"+ "bszzc,总资产,double,8,8,68,;"+ "bsdqjk,短期借款,double,8,9,76,;"+ "bsyfzk,应付帐款,double,8,10,84,;"+ "bsldfz,流动负债,double,8,11,92,;"+ "bscqfz,长期负债,double,8,12,100,;"+ "bsfz,负债合计,double,8,13,108,;"+ "bsgb,股本,double,8,14,116,;"+ "bsssgdqy,少数股东权益,double,8,15,124,;"+ "bsgdqy,股东权益,double,8,16,132,;"+ "bszbgj,资本公积,double,8,17,140,;"+ "bsyygj,盈余公积,double,8,18,148,;"+ "iszysr,主营业务收入净额,double,8,1,156,;"+ "iszycb,主营业务成本,double,8,2,164,;"+ "iszylr,主营业务利润,double,8,3,172,;"+ "isqtlr,其它业务利润,double,8,4,180,;"+ "isyyfy,营业费用,double,8,5,188,;"+ "isglfy,管理费用,double,8,6,196,;"+ "iscwfy,财务费用,double,8,7,204,;"+ "istzsy,投资收益,double,8,8,212,;"+ "islrze,利润总额,double,8,9,220,;"+ "issds,所得税,double,8,10,228,;"+ "isjlr,净利润,double,8,11,236,;"+ "iskchjlr,扣除经常性损益后的净利润,double,8,12,244,;"+ "iswfplr,未分配利润,double,8,13,252,;"+ "cfjyhdxjlr,经营活动现金流入,double,8,1,260,;"+ "cfjyhdxjlc,经营活动现金流出,double,8,2,268,;"+ "cfjyhdxjje,经营活动现金净额,double,8,3,276,;"+ "cftzxjlr,投资现金流入,double,8,4,284,;"+ "cftzxjlc,投资现金流出,double,8,5,292,;"+ "cftzxjje,投资现金净额,double,8,6,300,;"+ "cfczxjlr,筹措现金流入,double,8,7,308,;"+ "cfczxjlc,筹措现金流出,double,8,8,316,;"+ "cfczxjje,筹措现金净额,double,8,9,324,;"+ "cfxjjze,现金及现金等价物净增额,double,8,10,332,;"+ "cfxsspxj,销售商品收到的现金,double,8,11,340,;"+ "mgsy,每股收益,single,4,1,348,;"+ "mgjzc,每股净资产,single,4,2,352,;"+ "tzmgjzc,调整后每股净资产,single,4,3,356,;"+ "mgzbgjj,每股资本公积金,single,4,4,360,;"+ "mgwfplr,每股未分配利润,single,4,5,364,;"+ "mgjyxjllje,每股经营活动产生的现金流量净额,single,4,6,368,;"+ "mgxjzjje,每股现金及现金等价物增加净额,single,4,7,372,;"+ "mll,毛利率,single,4,8,376,;"+ "zyywlrl,主营业务利润率,single,4,9,380,;"+ "jll,净利率,single,4,10,384,;"+ "zzcbcl,总资产报酬率,single,4,11,388,;"+ "jzcsyl,净资产收益率,single,4,12,392,;"+ "xsxjzb,销售商品收到的现金占主营收入比例,single,4,13,396,;"+ "yszczzl,应收帐款周转率,single,4,14,400,;"+ "chzzl,存货周转率,single,4,15,404,;"+ "gdzczzl,固定资产周转率,single,4,16,408,;"+ "zyywzzl,主营业务增长率,single,4,17,412,;"+ "jlrzzl,净利润增长率,single,4,18,416,;"+ "zzczzl,总资产增长率,single,4,19,420,;"+ "jzczzl,净资产增长率,single,4,20,424,;"+ "ldbl,流动比率,single,4,21,428,;"+ "sdbl,速动比率,single,4,22,432,;"+ "zcfzbl,资产负债比率,single,4,23,436,;"+ "fzbl,负债比率,single,4,24,440,;"+ "gdqybl,股东权益比率,single,4,25,444,;"+ "gdzcbl,固定资产比率,single,4,26,448,;"+ "kchmgjlr,扣除经常性损益后每股净利润,single,4,27,452,"; break; #endregion #region 十大股东stkhold.fdt case DataTypes.gd: fileName = "STKHOLD.FDT"; startAddress = 0x41000; blockSize = 17568; recordSize = 2196; codeIsLong = true; fieldString = "dm,代码,code,12,0,0,;"+ "rq,日期,date,4,66,2192,;" + "gd1mc,股东名称,string,160,1,12,;"+ "gd1cgsl,股东持股数量,double,8,2,172,;"+ "gd1cgbl,股东持股比例,single,4,3,180,;"+ "gd1bz,股东备注,string,20,4,184,;"+ "gd1fr,股东法人,string,8,5,204,;"+ "gd1jyfw,股东经营范围,string,16,6,212,;"+ "gd2mc,股东名称,string,160,7,228,;"+ "gd2cgsl,股东持股数量,double,8,8,388,;"+ "gd2cgbl,股东持股比例,single,4,9,396,;"+ "gd2bz,股东备注,string,20,10,400,;"+ "gd2fr,股东法人,string,8,11,420,;"+ "gd2jyfw,股东经营范围,string,16,12,428,;"+ "gd3mc,股东名称,string,160,13,444,;"+ "gd3cgsl,股东持股数量,double,8,14,604,;"+ "gd3cgbl,股东持股比例,single,4,15,612,;"+ "gd3bz,股东备注,string,20,16,616,;"+ "gd3fr,股东法人,string,8,17,636,;"+ "gd3jyfw,股东经营范围,string,16,18,644,;"+ "gd4mc,股东名称,string,160,19,660,;"+ "gd4cgsl,股东持股数量,double,8,20,820,;"+ "gd4cgbl,股东持股比例,single,4,21,828,;"+ "gd4bz,股东备注,string,20,22,832,;"+ "gd4fr,股东法人,string,8,23,852,;"+ "gd4jyfw,股东经营范围,string,16,24,860,;"+ "gd5mc,股东名称,string,160,25,876,;"+ "gd5cgsl,股东持股数量,double,8,26,1036,;"+ "gd5cgbl,股东持股比例,single,4,27,1044,;"+ "gd5bz,股东备注,string,20,28,1048,;"+ "gd5fr,股东法人,string,8,29,1068,;"+ "gd5jyfw,股东经营范围,string,16,30,1076,;"+ "gd6mc,股东名称,string,160,31,1092,;"+ "gd6cgsl,股东持股数量,double,8,32,1252,;"+ "gd6cgbl,股东持股比例,single,4,33,1260,;"+ "gd6bz,股东备注,string,20,34,1264,;"+ "gd6fr,股东法人,string,8,35,1284,;"+ "gd6jyfw,股东经营范围,string,16,36,1292,;"+ "gd7mc,股东名称,string,160,37,1308,;"+ "gd7cgsl,股东持股数量,double,8,38,1468,;"+ "gd7cgbl,股东持股比例,single,4,39,1476,;"+ "gd7bz,股东备注,string,20,40,1480,;"+ "gd7fr,股东法人,string,8,41,1500,;"+ "gd7jyfw,股东经营范围,string,16,42,1508,;"+ "gd8mc,股东名称,string,160,43,1524,;"+ "gd8cgsl,股东持股数量,double,8,44,1684,;"+ "gd8cgbl,股东持股比例,single,4,45,1692,;"+ "gd8bz,股东备注,string,20,46,1696,;"+ "gd8fr,股东法人,string,8,47,1716,;"+ "gd8jyfw,股东经营范围,string,16,48,1724,;"+ "gd9mc,股东名称,string,160,49,1740,;"+ "gd9cgsl,股东持股数量,double,8,50,1900,;"+ "gd9cgbl,股东持股比例,single,4,51,1908,;"+ "gd9bz,股东备注,string,20,52,1912,;"+ "gd9fr,股东法人,string,8,53,1932,;"+ "gd9jyfw,股东经营范围,string,16,54,1940,;"+ "gd10mc,股东名称,string,160,55,1956,;"+ "gd10cgsl,股东持股数量,double,8,56,2116,;"+ "gd10cgbl,股东持股比例,single,4,57,2124,;"+ "gd10bz,股东备注,string,20,58,2128,;"+ "gd10fr,股东法人,string,8,59,2148,;"+ "gd10jyfw,股东经营范围,string,16,60,2156,;"+ "gdzs,股东总数,int,4,61,2172,;"+ "gjgfrggds,国家股法人股股东数,int,4,62,2176,;"+ "aggds,流通股A股股东数,int,4,63,2180,;"+ "bggds,流通股B股股东数,int,4,64,2184,"; break; #endregion #region 基金周报fundweek.fdt case DataTypes.jjjz: //fileName = "FUNDWEEK.FDT"; fileName = "FUNDINFO.fdt"; startAddress = 0x41000; blockSize = 12032; recordSize = 188; codeIsLong = true; fieldString = "dm,代码,code,12,0,0,;"+ "rq,日期,date,4,13,184,;"+ "dwjz,基金单位净值,single,4,6,152,;" + "jjze,基金净值总额,double,8,5,144,;" + "gm,基金规模,double,8,4,136,;" + "dwcz,基金单位初值,single,4,7,156,;"+ "tzhjz,基金调整后净值,single,4,8,160,;"+ "tzhcz,基金调整后初值,single,4,9,164,;"+ "zzl,基金增长率(%),double,8,10,168,;"+ "ljjz,基金累计净值,single,4,11,176,;"+ "slrq,基金设立日期,date,4,1,12,;"+ "glr,基金管理人,string,60,2,16,;"+ "tgr,基金托管人,string,60,3,76," ;//12为保留字段 break; #endregion #region 基金投资组合funddiv.fdt case DataTypes.jjzh: fileName = "FUNDDIV.FDT"; fileName = "FUNDINVEST.fdt"; startAddress = 0x41000; blockSize = 8320; recordSize = 260; codeIsLong = true; fieldString = "dm,代码,code,12,0,0,;" + "bgrq,报告日期,date,4,31,252,;" + "zzrq,截止日期,date,4,32,256,;" + "dm1,证券代码,string,12,1,12,;" + "sz1,证券市值,double,8,2,24,;" + "bl1,证券占净值比例(%),single,4,3,32,;" + "dm2,证券代码,string,12,4,36,;" + "sz2,证券市值,double,8,5,48,;" + "bl2,证券占净值比例(%),single,4,6,56,;" + "dm3,证券代码,string,12,7,60,;" + "sz3,证券市值,double,8,8,72,;" + "bl3,证券占净值比例(%),single,4,9,80,;" + "dm4,证券代码,string,12,10,84,;" + "sz4,证券市值,double,8,11,96,;" + "bl4,证券占净值比例(%),single,4,12,104,;" + "dm5,证券代码,string,12,13,108,;" + "sz5,证券市值,double,8,14,120,;" + "bl5,证券占净值比例(%),single,4,15,128,;" + "dm6,证券代码,string,12,16,132,;" + "sz6,证券市值,double,8,17,144,;" + "bl6,证券占净值比例(%),single,4,18,152,;" + "dm7,证券代码,string,12,19,156,;" + "sz7,证券市值,double,8,20,168,;" + "bl7,证券占净值比例(%),single,4,21,176,;" + "dm8,证券代码,string,12,22,180,;" + "sz8,证券市值,double,8,23,192,;" + "bl8,证券占净值比例(%),single,4,24,200,;" + "dm9,证券代码,string,12,25,204,;" + "sz9,证券市值,double,8,26,216,;" + "bl9,证券占净值比例(%),single,4,27,224,;" + "dm10,证券代码,string,12,28,228,;" + "sz10,证券市值,double,8,29,240,;" + "bl10,证券占净值比例(%),single,4,30,248,"; break; #endregion #region 板块userdata\block case DataTypes.bk: fileName = "BLOCK.DEF"; startAddress = 0; blockSize = 0; recordSize = 248; codeIsLong = false; isIndexDataStruct = false; fieldString = "lb,类别,string,20,0,0,;" + "bk,板块,string,20,1,10,;" + "dm,证券代码,string,10,2,42,"; break; #endregion #region 评级 case DataTypes.pj: fileName = "评级.str"; //fileName = "SIMU.DAT"; startAddress = 0; blockSize = 256; recordSize = 256; codeIsLong = true; isIndexDataStruct = false; fieldString = "dm,证券代码,string,12,0,0,;" + "pj,评级,string,2,2,0,;" + "sm,说明,string,244,2,0,"; break; #endregion #region 复权行情,计算而得 case DataTypes.hqfq: fileName = "DAY.DAT"; startAddress = 0x41000; blockSize = 8192; recordSize = 32; codeIsLong = false; fieldString = "dm,代码,code,10,0,0,;" + "rq,日期,date,4,1,0,;" + "kp,开盘复权价,single,4,2,4,B;" + "zg,最高复权价,single,4,3,8,B;" + "zd,最低复权价,single,4,4,12,B;" + "sp,收盘复权价,single,4,5,16,B;" + "sl,复权成交数量,single,4,6,20,A;" + "je,成交金额,single,4,7,24,;"+ "spsyl,收盘收益率,single,4,0,0,"; break; #endregion } string[] fieldLine = fieldString.Split(new char[] { ';' }); fields = new string[fieldLine.Length, 7]; for (int i = 0; i < fieldLine.Length; i++) { string[] field = fieldLine[i].Split(new char[]{','} ,7 ); for(int j=0;j<field.Length;j++) { fields[i,j]=field[j]; } } } }
要在Tushare上获取5个股票交易数据,可以按照以下步骤进行操作: 1. 首先,需要注册Tushare账号,并在Python中安装Tushare库。 2. 在Python中导入Tushare库,并使用Tushare提供的get_hist_data函数获取历史交易数据。 例如,可以使用以下代码获取股票代码为600036的历史交易数据: ```python import tushare as ts df = ts.get_hist_data('600036') ``` 3. 可以使用Tushare提供的get_stock_basics函数获取所有股票的基本信息。 例如,可以使用以下代码获取所有股票的基本信息: ```python import tushare as ts df = ts.get_stock_basics() ``` 4. 可以使用Tushare提供的get_today_all函数获取当天所有股票的实时交易数据。 例如,可以使用以下代码获取当天所有股票的实时交易数据: ```python import tushare as ts df = ts.get_today_all() ``` 5. 可以使用Tushare提供的get_h_data函数获取特定时间段内的历史交易数据。 例如,可以使用以下代码获取股票代码为600036的2019年1月1日至2020年1月1日之间的历史交易数据: ```python import tushare as ts df = ts.get_h_data('600036', start='2019-01-01', end='2020-01-01') ``` 6. 可以使用Tushare提供的get_tick_data函数获取特定交易日的分笔数据。 例如,可以使用以下代码获取股票代码为600036的2020年1月2日的分笔数据: ```python import tushare as ts df = ts.get_tick_data('600036', date='2020-01-02') ``` 通过以上步骤,可以在Tushare上获取5个股票交易数据。根据需要,可以使用不同的函数和参数获取不同的数据
评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值