dfcf

package
v1.8.43 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 6, 2024 License: Apache-2.0 Imports: 16 Imported by: 0

Documentation

Index

Constants

View Source
const (
	CacheL5KeyNotices = "cache/notices"

	EastmoneyNoticesPageSize = 100
)
View Source
const (
	EastmoneyFinanceReportsPageSize = 100
)
View Source
const (
	EastmoneyGdfxHoldingAnalysePageSize = 500
)
View Source
const (
	EastmoneyQuarterlyReportAllPageSize = 50 // 一页最大50条
)

数据来源: https://data.eastmoney.com/bbsj/yjbb/301381.html

Variables

View Source
var (
	ErrNoticeBadApi   = exception.New(errorBaseNotice, "接口异常")
	ErrNoticeNotFound = exception.New(errorBaseNotice+1, "没有数据")
)

Functions

func GetNoticeType

func GetNoticeType(noticeType EMNoticeType) string

func NoticeDateForReport added in v1.7.2

func NoticeDateForReport(code string, date string) (annualReportDate, quarterlyReportDate string)

NoticeDateForReport 年报季报披露日期

Types

type BillBoard added in v1.8.41

type BillBoard struct {
	SECURITY_CODE               string  `json:"SECURITY_CODE"`               // 证券代码
	SECUCODE                    string  `json:"SECUCODE"`                    // 证券代码
	TRADE_DATE                  string  `json:"TRADE_DATE"`                  // 交易日期
	OPERATEDEPT_CODE            string  `json:"OPERATEDEPT_CODE"`            // 交易营业部代码
	OPERATEDEPT_NAME            string  `json:"OPERATEDEPT_NAME"`            // 交易营业部名称
	EXPLANATION                 string  `json:"EXPLANATION"`                 // 龙虎榜类型, 说明
	CHANGE_RATE                 float64 `json:"CHANGE_RATE"`                 // 涨跌幅
	CLOSE_PRICE                 float64 `json:"CLOSE_PRICE"`                 // 收盘价
	ACCUM_AMOUNT                int     `json:"ACCUM_AMOUNT"`                // 成交金额
	ACCUM_VOLUME                int     `json:"ACCUM_VOLUME"`                // 成交量
	BUY                         float64 `json:"BUY"`                         // 买入
	SELL                        float64 `json:"SELL"`                        // 卖出
	NET                         float64 `json:"NET"`                         // 净额
	RISE_PROBABILITY_3DAY       float64 `json:"RISE_PROBABILITY_3DAY"`       // 上榜3日
	TOTAL_BUYER_SALESTIMES_3DAY int     `json:"TOTAL_BUYER_SALESTIMES_3DAY"` // 买方3日
	CHANGE_TYPE                 string  `json:"CHANGE_TYPE"`                 // 变动类型
	OPERATEDEPT_CODE_OLD        string  `json:"OPERATEDEPT_CODE_OLD"`        // 交易营业部旧代码
	TOTAL_BUYRIO                float64 `json:"TOTAL_BUYRIO"`                // 买入占比
	TOTAL_SELLRIO               float64 `json:"TOTAL_SELLRIO"`               // 卖出占比
	TRADE_ID                    string  `json:"TRADE_ID"`                    // 交易ID
}

BillBoard 龙虎榜数据结构

type CirculatingShareholder

type CirculatingShareholder struct {
	SecurityCode     string  `dataframe:"security_code"`       // 证券代码
	SecurityName     string  `dataframe:"security_name"`       // 证券名称
	EndDate          string  `dataframe:"end_date"`            // 报告日期
	UpdateDate       string  `dataframe:"update_date"`         // 更新日期
	HolderType       string  `dataframe:"holder_type"`         // 股东类型
	HolderName       string  `dataframe:"holder_name"`         // 股东名称
	IsHoldOrg        string  `dataframe:"is_holdorg"`          // 股东是否机构
	HolderRank       int     `dataframe:"holder_rank"`         // 股东排名
	HoldNum          int     `dataframe:"hold_num"`            // 期末持股-数量
	FreeHoldNumRatio float64 `dataframe:"free_hold_num_ratio"` // 期末持股-比例
	HoldNumChange    int     `dataframe:"hold_num_change"`     // 期末持股-持股变动
	HoldChangeName   string  `dataframe:"change_name"`         // 期末持股-变化状态
	HoldChangeState  int     `dataframe:"change_state"`        // 期末持股-变化状态
	HoldChangeRatio  float64 `dataframe:"change_ratio"`        // 期末持股-持股变化比例
	HoldRatio        float64 `dataframe:"hold_ratio"`          // 期末持股-持股变动
	HoldRatioChange  float64 `dataframe:"hold_ratio_change"`   // 期末持股-数量变化比例
}

CirculatingShareholder Top10CirculatingShareholders

func FreeHoldingAnalyse

func FreeHoldingAnalyse(pageNumber ...int) ([]CirculatingShareholder, int, error)

func GetCacheShareHolder

func GetCacheShareHolder(securityCode, date string, diffQuarters ...int) (list []CirculatingShareholder)

GetCacheShareHolder 获取流动股东数据

func ShareHolder

func ShareHolder(securityCode, date string, diffQuarters ...int) (list []CirculatingShareholder)

type EMNoticeType

type EMNoticeType = int
const (
	NoticeAll          EMNoticeType = iota // 全部
	NoticeUnused1                          // 财务报告
	NoticeUnused2                          // 融资公告
	NoticeUnused3                          // 风险提示
	NoticeUnused4                          // 信息变更
	NoticeWarning                          // 重大事项
	NoticeUnused6                          // 资产重组
	NoticeHolderChange                     // 持股变动
)

type FundFlow

type FundFlow struct {
	Date            string `array:"0"`
	Code            string
	Main            float64 `array:"1"`
	MainRatio       float64 `array:"6"`
	SuperLarge      float64 `array:"5"`
	SuperLargeRatio float64 `array:"10"`
	Large           float64 `array:"4"`
	LargeRatio      float64 `array:"9"`
	Medium          float64 `array:"3"`
	MediumRatio     float64 `array:"8"`
	Small           float64 `array:"2"`
	SmallRatio      float64 `array:"7"`
}

FundFlow 资金流向

func IndividualStocksFundFlow

func IndividualStocksFundFlow(securityCode, date string) (list []FundFlow)

IndividualStocksFundFlow 个股资金流向

type HoldNumChangeState

type HoldNumChangeState = int
const (
	HoldNumDampened       HoldNumChangeState = -1 // 减少
	HoldNumUnChanged      HoldNumChangeState = 0  // 不变
	HoldNumNewlyAdded     HoldNumChangeState = 1  // 新进/新增
	HoldNumIncrease       HoldNumChangeState = 2  // 增加
	HoldNumUnknownChanges HoldNumChangeState = -9 // 未知变化
)

type HoldingAnalyse

type HoldingAnalyse struct {
	SECUCODE                string  `json:"SECUCODE"`                // "股票代码",
	SECURITY_NAME           string  `json:"SECURITY_NAME_ABBR"`      // "股票简称",
	END_DATE                string  `json:"END_DATE"`                // "报告期",
	UPDATE_DATE             string  `json:"UPDATE_DATE"`             // "公告日",
	HOLDER_TYPE             string  `json:"HOLDER_TYPE"`             // "股东类型",
	HOLDER_NEWTYPE          string  `json:"HOLDER_NEWTYPE"`          // "-",
	HOLDER_NAME             string  `json:"HOLDER_NAME"`             // "股东名称",
	IS_HOLDORG              string  `json:"IS_HOLDORG"`              // "是否机构",
	HOLDER_RANK             int     `json:"HOLDER_RANK"`             // "股东排名",
	HOLD_NUM                int     `json:"HOLD_NUM"`                // "期末持股-数量",
	FREE_HOLDNUM_RATIO      float64 `json:"FREE_HOLDNUM_RATIO"`      // "-",
	HOLD_NUM_CHANGE_NAME    string  `json:"HOLDNUM_CHANGE_NAME"`     // "-",
	XZCHANGE                int     `json:"XZCHANGE"`                // "期末持股-数量变化",
	CHANGE_RATIO            float64 `json:"CHANGE_RATIO"`            // "-",
	HOLDER_STATE            string  `json:"HOLDER_STATE"`            // "-",
	REPORT_DATE_NAME        string  `json:"REPORT_DATE_NAME"`        // ---华丽的分割线---
	HOLDER_MARKET_CAP       float64 `json:"HOLDER_MARKET_CAP"`       // "期末持股-流通市值",
	HOLD_RATIO              float64 `json:"HOLD_RATIO"`              // "-",
	SECURITY_CODE           string  `json:"SECURITY_CODE"`           // "股票代码简写",
	HOLD_CHANGE             string  `json:"HOLD_CHANGE"`             // "-",
	HOLD_RATIO_CHANGE       float64 `json:"HOLD_RATIO_CHANGE"`       // "期末持股-数量变化比例",
	ORG_CODE                string  `json:"ORG_CODE"`                // "-",
	HOLDER_CODE             string  `json:"HOLDER_CODE"`             // "-",
	SECURITY_TYPE_CODE      string  `json:"SECURITY_TYPE_CODE"`      // "-",
	SHARES_TYPE             string  `json:"SHARES_TYPE"`             // "-",
	HOLDER_NEW              string  `json:"HOLDER_NEW"`              // "-",
	FREE_RATIO_QOQ          string  `json:"FREE_RATIO_QOQ"`          // "-",
	HOLDER_STATEE           string  `json:"HOLDER_STATEE"`           // "-",
	IS_REPORT               string  `json:"IS_REPORT"`               // "-",
	HOLDER_CODE_OLD         string  `json:"HOLDER_CODE_OLD"`         // "-",
	IS_MAX_REPORT_DATE      string  `json:"IS_MAX_REPORTDATE"`       // "-",
	COOPERATION_HOLDER_MARK string  `json:"COOPERATION_HOLDER_MARK"` // "-",
	MXID                    string  `json:"MXID"`                    // "-",
	LISTING_STATE           string  `json:"LISTING_STATE"`           // "-",
	NEW_CHANGE_RATIO        string  `json:"NEW_CHANGE_RATIO"`        // "-",
	HOLD_NUM_CHANGE         string  `json:"HOLD_NUM_CHANGE"`         // "期末持股-持股变动",
}

HoldingAnalyse 持股分析

type NoticeDetail

type NoticeDetail struct {
	Code         string `csv:"证券代码" dataframe:"证券代码"`   // 证券代码
	Name         string `csv:"证券名称" dataframe:"证券名称"`   // 证券名称
	DisplayTime  string `csv:"显示时间" dataframe:"显示时间"`   // 显示时间
	NoticeDate   string `csv:"公告时间" dataframe:"公告时间"`   // 公告时间
	Title        string `csv:"内容提要" dataframe:"公告标题"`   // 公告标题
	Keywords     string `csv:"关键词" dataframe:"关键词"`     // 公告关键词
	Increase     int    `csv:"增持" dataframe:"增持"`       // 增持
	Reduce       int    `csv:"减持" dataframe:"减持"`       // 减持
	HolderChange int    `csv:"控制人变更" dataframe:"控制人变更"` // 实际控制人变更
	Risk         int    `csv:"风险数" dataframe:"监管"`      // 风险数
}

NoticeDetail 公告详情

func AllNotices

func AllNotices(noticeType EMNoticeType, date string, pageNumber ...int) (notices []NoticeDetail, pages int, err error)

AllNotices 东方财富网-数据中心-公告大全-沪深京 A 股公告

http://data.eastmoney.com/notices/hsa/5.html
:param symbol: 报告类型; choice of {"全部", "重大事项", "财务报告", "融资公告", "风险提示", "资产重组", "信息变更", "持股变动"}
:type symbol: str
:param date: 制定日期
:type date: str
:return: 沪深京 A 股公告
Deprecated: 弃用

func StockNotices

func StockNotices(securityCode, beginDate, endDate string, pageNumber ...int) (notices []NoticeDetail, pages int, err error)

StockNotices 个股公告

type PreviewQuarterlyReport

type PreviewQuarterlyReport struct {
	SecurityCode        string  `name:"证券代码" json:"SECURITY_CODE"`
	SecurityName        string  `name:"证券名称" json:"SECURITY_NAME"`
	OrgCode             string  `name:"机构代码" json:"ORG_CODE"`
	NoticeDate          string  `name:"公告日期" json:"NOTICE_DATE"`
	ReportDate          string  `name:"报告日期" json:"REPORT_DATE"`
	PredictFinanceCode  string  `name:"预告代码" json:"PREDICT_FINANCE_CODE"`
	PredictFinance      string  `name:"预告财报" json:"PREDICT_FINANCE"`
	PredictAmtLower     float64 `name:"预计营收下限" json:"PREDICT_AMT_LOWER"`
	PredictAmtUpper     float64 `name:"预计营收上限" json:"PREDICT_AMT_UPPER"`
	AddAmpLower         float64 `name:"增长下限" json:"ADD_AMP_LOWER"`
	AddAmpUpper         float64 `name:"增长下限" json:"ADD_AMP_UPPER"`
	PredictContent      string  `name:"预告内容" json:"PREDICT_CONTENT"`
	ChangeReasonExplain string  `name:"改变原因" json:"CHANGE_REASON_EXPLAIN"`
	PredictType         string  `name:"预计类型" json:"PREDICT_TYPE"`
	PreyearSamePeriod   float64 `name:"上年同期" json:"PREYEAR_SAME_PERIOD"`
	TradeMarket         string  `name:"所在交易所" json:"TRADE_MARKET"`
	TradeMarketCode     string  `name:"场内交易代码" json:"TRADE_MARKET_CODE"`
	SecurityType        string  `name:"证券类型" json:"SECURITY_TYPE"`
	SecurityTypeCode    string  `name:"证券类型代码" json:"SECURITY_TYPE_CODE"`
	IncreaseJz          float64 `name:"增长均值" json:"INCREASE_JZ"`
	ForecastJz          float64 `name:"预测均值" json:"FORECAST_JZ"`
	ForecastState       string  `name:"预测状态" json:"FORECAST_STATE"`
	IsLatest            string  `name:"是否最新财报" json:"IS_LATEST"`
	PredictRatioLower   float64 `name:"预测增速下限" json:"PREDICT_RATIO_LOWER"`
	PredictRatioUpper   float64 `name:"预测增速上限" json:"PREDICT_RATIO_UPPER"`
	PredictHbmean       float64 `name:"预计每股盈利?" json:"PREDICT_HBMEAN"`
}

PreviewQuarterlyReport 业绩预报详情

func FinanceReports

func FinanceReports(date string, pageNumber ...int) (reports []PreviewQuarterlyReport, pages, originalRecords int, err error)

FinanceReports 获取哪天开始的财报数据 https://data.eastmoney.com/bbsj/202303/yjyg.html?type=increase https://data.eastmoney.com/bbsj/202303/yjbb.html

func (PreviewQuarterlyReport) GetDate

func (f PreviewQuarterlyReport) GetDate() string

func (PreviewQuarterlyReport) GetSecurityCode

func (f PreviewQuarterlyReport) GetSecurityCode() string

type QuarterlyReport

type QuarterlyReport struct {
	SecurityCode       string  `json:"CODE"`                 // 证券代码
	ReportDate         string  `json:"REPORTDATE"`           // 报告日期
	NoticeDate         string  `json:"NOTICE_DATE"`          // 最新公告日期
	UpdateDate         string  `json:"UPDATE_DATE"`          // 更新日期
	SecuCode           string  `json:"SECUCODE"`             // 证券代码
	BasicEPS           float64 `json:"BASIC_EPS"`            // 每股收益
	DeductBasicEPS     float64 `json:"DEDUCT_BASIC_EPS"`     // 每股收益(扣除)
	TotalOperateIncome float64 `json:"TOTAL_OPERATE_INCOME"` // 营业总收入
	ParentNetprofit    float64 `json:"PARENT_NETPROFIT"`     // 净利润
	WeightAvgRoe       float64 `json:"WEIGHTAVG_ROE"`        // 净资产收益率
	YSTZ               float64 `json:"YSTZ"`                 // 营业总收入同比增长
	SJLTZ              float64 `json:"SJLTZ"`                // 净利润同比增长
	BPS                float64 `json:"BPS"`                  // 每股净资产
	MGJYXJJE           float64 `json:"MGJYXJJE"`             // 每股经营现金流量(元)
	XSMLL              float64 `json:"XSMLL"`                // 销售毛利率(%)
	YSHZ               float64 `json:"YSHZ"`
	SJLHZ              float64 `json:"SJLHZ"`
	ASSIGNDSCRPT       float64 `json:"ASSIGNDSCRPT"`
	PAYYEAR            float64 `json:"PAYYEAR"`
	PUBLISHNAME        float64 `json:"PUBLISHNAME"`
	ZXGXL              float64 `json:"ZXGXL"`
	ORGCODE            string  `json:"ORG_CODE"`
	TRADEMARKETZJG     string  `json:"TRADE_MARKET_ZJG"`
	IsNew              string  `json:"ISNEW"`
	QDATE              string  `name:"报告期" json:"QDATE"` // 季报期
	DATATYPE           string  `json:"DATATYPE"`
	DATAYEAR           string  `json:"DATAYEAR"`
	DATEMMDD           string  `json:"DATEMMDD"`
	EITIME             string  `json:"EITIME"`
	TRADEMARKETCODE    string  `json:"TRADE_MARKET_CODE"`
	TRADEMARKET        string  `json:"TRADE_MARKET"` //市场
	SECURITYTYPECODE   string  `json:"SECURITY_TYPE_CODE"`
	SECURITYTYPE       string  `json:"SECURITY_TYPE"`
	SECURITYCODE       string  `json:"SECURITY_CODE"`      // 证券代码
	SECURITYNAMEABBR   string  `json:"SECURITY_NAME_ABBR"` // 证券名称
}

QuarterlyReport 财报

func GetCacheQuarterlyReportsBySecurityCode

func GetCacheQuarterlyReportsBySecurityCode(securityCode, date string, diffQuarters ...int) *QuarterlyReport

GetCacheQuarterlyReportsBySecurityCode 获取上市公司财务季报 Quarterly Reports

func GetQuarterlyReports

func GetQuarterlyReports(pageNumber ...int) (reports []QuarterlyReport, pages int, err error)

GetQuarterlyReports 分页获取季报数据

func QuarterlyReports

func QuarterlyReports(featureDate string, pageNumber ...int) (reports []QuarterlyReport, pages int, err error)

QuarterlyReports 分页获取季报数据

func QuarterlyReportsBySecurityCode

func QuarterlyReportsBySecurityCode(securityCode, date string, diffQuarters int, pageNumber ...int) (reports []QuarterlyReport)

QuarterlyReportsBySecurityCode 分页获取季报数据

type RawWarning added in v1.7.2

type RawWarning struct {
	Code    int               `json:"code"`    // 状态码
	Success bool              `json:"success"` // 接口是否调用成功
	Message string            `json:"message"` // 状态信息
	Data    [][]WarningDetail `json:"data"`
	HasNext int               `json:"hasNext"` // 是否有下一页
}

func StockWarning added in v1.7.2

func StockWarning(securityCode string, pageNumber ...int) (warning RawWarning, err error)

StockWarning 大事提醒

type SecurityMarginTrading added in v1.0.5

type SecurityMarginTrading struct {
	DATE            string  `name:"日期" json:"DATE"`
	MARKET          string  `name:"市场" json:"MARKET"`
	SCODE           string  `name:"代码" json:"SCODE"`
	SecName         string  `name:"证券名称" json:"SECNAME"`
	RZYE            float64 `name:"融资余额(元)" json:"RZYE"`
	RQYL            float64 `name:"融券余量(股)" json:"RQYL"`
	RZRQYE          float64 `name:"融资融券余额(元)" json:"RZRQYE"`
	RQYE            float64 `name:"融券余额(元)" json:"RQYE"`
	RQMCL           float64 `name:"融券卖出量(股)" json:"RQMCL"`
	RZRQYECZ        float64 `name:"融资融券余额差值(元)" json:"RZRQYECZ"`
	RZMRE           float64 `name:"融资买入额(元)" json:"RZMRE"`
	SZ              float64 `name:"SZ" json:"SZ"`
	RZYEZB          float64 `name:"融资余额占流通市值比(%)" json:"RZYEZB"`
	RZMRE3D         float64 `name:"3日融资买入额(元)" json:"RZMRE3D"`
	RZMRE5D         float64 `name:"5日融资买入额(元)" json:"RZMRE5D"`
	RZMRE10D        float64 `name:"10日融资买入额(元)" json:"RZMRE10D"`
	RZCHE           float64 `name:"融资偿还额(元)" json:"RZCHE"`
	RZCHE3D         float64 `name:"3日融资偿还额(元)" json:"RZCHE3D"`
	RZCHE5D         float64 `name:"5日融资偿还额(元)" json:"RZCHE5D"`
	RZCHE10D        float64 `name:"10日融资偿还额(元)" json:"RZCHE10D"`
	RZJME           float64 `name:"融资净买额(元)" json:"RZJME"`
	RZJME3D         float64 `name:"3日融资净买额(元)" json:"RZJME3D"`
	RZJME5D         float64 `name:"5日融资净买额(元)" json:"RZJME5D"`
	RZJME10D        float64 `name:"10日融资净买额(元)" json:"RZJME10D"`
	RQMCL3D         float64 `name:"3日融券卖出量(股)" json:"RQMCL3D"`
	RQMCL5D         float64 `name:"5日融券卖出量(股)" json:"RQMCL5D"`
	RQMCL10D        float64 `name:"10日融券卖出量(股)" json:"RQMCL10D"`
	RQCHL           float64 `name:"融券偿还量(股)" json:"RQCHL"`
	RQCHL3D         float64 `name:"3日融券偿还量(股)" json:"RQCHL3D"`
	RQCHL5D         float64 `name:"5日融券偿还量(股)" json:"RQCHL5D"`
	RQCHL10D        float64 `name:"10日融券偿还量(股)" json:"RQCHL10D"`
	RQJMG           float64 `name:"融券净卖出(股)" json:"RQJMG"`
	RQJMG3D         float64 `name:"3日融券净卖出(股)" json:"RQJMG3D"`
	RQJMG5D         float64 `name:"5日融券净卖出(股)" json:"RQJMG5D"`
	RQJMG10D        float64 `name:"10日融券净卖出(股)" json:"RQJMG10D"`
	SPJ             float64 `name:"收盘价" json:"SPJ"`
	ZDF             float64 `name:"涨跌幅" json:"ZDF"`
	RChange3DCP     float64 `name:"3日未识别" json:"RCHANGE3DCP"`
	RChange5DCP     float64 `name:"5日未识别" json:"RCHANGE5DCP"`
	RChange10DCP    float64 `name:"10日未识别" json:"RCHANGE10DCP"`
	KCB             int     `name:"科创板"  json:"KCB"`
	TradeMarketCode string  `name:"二级市场代码" json:"TRADE_MARKET_CODE"`
	TradeMarket     string  `name:"二级市场" json:"TRADE_MARKET"`
	FinBalanceGr    float64 `json:"FIN_BALANCE_GR"`
	SecuCode        string  `name:"证券代码" json:"SECUCODE"`
}

SecurityMarginTrading 融资融券

func GetMarginTradingList added in v1.0.5

func GetMarginTradingList(date string) []SecurityMarginTrading

GetMarginTradingList 获取两融列表

东方财富两融数据只有前一个交易日的数据

type StockCapital

type StockCapital struct {
	Code            string // 证券代码
	Date            string // 变动日期
	TotalShares     int    // 总股本
	UnlimitedShares int    // 已流通股本
	ListedAShares   int    // 已上市流通A股
	ChangeReson     string // 变动原因
	UpdateTime      string // 更新时间
}

func CapitalChange

func CapitalChange(securityCode string) (list []StockCapital)

CapitalChange 获取股本变动记录

deprecated: 不推荐, 太慢

type WarningDetail added in v1.7.2

type WarningDetail struct {
	EventType         string   `json:"EVENT_TYPE"`         // 事件类型
	SpecificEventType string   `json:"SPECIFIC_EVENTTYPE"` // 事件类型
	NoticeDate        string   `json:"NOTICE_DATE"`        // 公告日期
	Level1Content     string   `json:"LEVEL1_CONTENT"`     // 1级内容
	Level2Content     []string `json:"LEVEL2_CONTENT"`     // 2级内容
	InfoCode          string   `json:"INFO_CODE"`          // 信息代码
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL