最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

手把手教學(xué)構(gòu)建證券知識(shí)圖譜/知識(shí)庫(kù)(含碼源)關(guān)系可視化展示

2023-07-07 14:30 作者:汀丶人工智能  | 我要投稿

手把手教學(xué)構(gòu)建證券知識(shí)圖譜/知識(shí)庫(kù)(含碼源):網(wǎng)頁(yè)獲取信息、設(shè)計(jì)圖譜、Cypher查詢、Neo4j關(guān)系可視化展示

demo展示:

碼源下載見(jiàn)文末跳轉(zhuǎn)

碼源下載見(jiàn)文末跳轉(zhuǎn)

1.數(shù)據(jù)源

本項(xiàng)目需要用到兩種數(shù)據(jù)源:一種是公司董事信息,另一種是股票的行業(yè)以及概念信息。

  • 公司董事信息

  • 這部分?jǐn)?shù)據(jù)包含在data目錄下的stockpage壓縮文件中,?面的每一個(gè)文件是以XXXXXX.html命名,其中XXXXXX是股票代碼。這部分?jǐn)?shù)據(jù)是由同花順個(gè)股的?頁(yè)爬取而來(lái)的,執(zhí)行解壓縮命令unzip stockpage.zip即可獲取。比如對(duì)于600007.html,這部分內(nèi)容來(lái)自于http://stockpage.10jqka.com.cn/600007/company/#manager


  • 股票行業(yè)以及概念信息

  • 這部分信息也可以通過(guò)?上公開(kāi)的信息得到。在這里,我們使用Tushare工具來(lái)獲得,詳細(xì)細(xì)節(jié)見(jiàn)之后具體的任務(wù)部分。


2.從?頁(yè)中抽取董事會(huì)的信息

在我們給定的html文件中,需要對(duì)每一個(gè)股票/公司抽取董事會(huì)成員的信息,這部分信息包括董事會(huì)成員“姓名”、“職務(wù)”、“性別”、“年齡”共四個(gè)字段。首先,姓名和職務(wù)的字段來(lái)自于:


在這里總共有12位董事成員的信息,都需要抽取出來(lái)。另外,性別和年齡字段也可以從下附圖里抽取出來(lái):

最后,生成一個(gè) executive_prep.csv文件,格式如下:

注:建議表頭最好用相應(yīng)的英文表示。

3.獲取股票行業(yè)和概念的信息

分類(lèi)數(shù)據(jù)_提供股票的分類(lèi)信息數(shù)據(jù),從股票類(lèi)型的不同角度進(jìn)行數(shù)據(jù)分類(lèi),在一些統(tǒng)計(jì)套利方法的應(yīng)用中,時(shí)常會(huì)以股票的分類(lèi)來(lái)做切入,比如對(duì)某些行業(yè)或概念進(jìn)行階段統(tǒng)計(jì)來(lái)決定近期的交易策略等。TuShare 提供的分類(lèi)數(shù)據(jù)主要包括以下類(lèi)別:

  • 行業(yè)分類(lèi)

  • 概念分類(lèi)

  • 地域分類(lèi)

  • 中小板分類(lèi)

  • 創(chuàng)業(yè)板分類(lèi)

  • 風(fēng)險(xiǎn)警示板分類(lèi)

  • 滬深 300 成份股及權(quán)重

  • 上證 50 成份股

  • 中證 500 成份股

  • 終止上市股票列表

  • 暫停上市股票列表

  • 行業(yè)分類(lèi)

在現(xiàn)實(shí)交易中,經(jīng)常會(huì)按行業(yè)統(tǒng)計(jì)股票的漲跌幅或資金進(jìn)出,本接口按照 sina 財(cái)經(jīng)對(duì)滬深股票進(jìn)行的行業(yè)分類(lèi),返回所有股票所屬行業(yè)的信息??紤]到是一次性在線獲取數(shù)據(jù),調(diào)用接口時(shí)會(huì)有一定的延時(shí),請(qǐng)?jiān)跀?shù)據(jù)返回后自行將數(shù)據(jù)進(jìn)行及時(shí)存儲(chǔ)。sina 財(cái)經(jīng)提供的行業(yè)分類(lèi)信息大致如下圖所示:


返回值說(shuō)明:

  • code:股票代碼

  • name:股票名稱(chēng)

  • c_name:行業(yè)名稱(chēng)

對(duì)于這部分信息,我們可以利?工具Tushare來(lái)獲取,官網(wǎng)為http://tushare.org/ ,使用pip命令進(jìn)行安裝即可。下載完之后,在python里即可調(diào)用股票行業(yè)和概念信息。參考鏈接:http://tushare.org/classifying.html#id2

通過(guò)以下的代碼即可獲得股票行業(yè)信息,并把返回的信息直接存儲(chǔ)在stock_industry_prep.csv文件里。

import tushare as ts df = ts.get_industry_classified() # TODO 保存到"stock_industry_prep.csv"

類(lèi)似的,可以通過(guò)以下代碼即可獲得股票概念信息,并把它們存儲(chǔ)在stock_concept_prep.csv文件里。

df = ts.get_concept_classified() # TODO 保存到“stock_concept_prep.csv”

4.設(shè)計(jì)知識(shí)圖譜

設(shè)計(jì)一個(gè)這樣的圖譜:

  • 創(chuàng)建“人”實(shí)體,這個(gè)人擁有姓名、性別、年齡

  • 創(chuàng)建“公司”實(shí)體,除了股票代碼,還有股票名稱(chēng)

  • 創(chuàng)建“概念”實(shí)體,每個(gè)概念都有概念名

  • 創(chuàng)建“行業(yè)”實(shí)體,每個(gè)行業(yè)都有?業(yè)名

  • 給“公司”實(shí)體添加“ST”的標(biāo)記,這個(gè)由LABEL來(lái)實(shí)現(xiàn)

  • 創(chuàng)建“人”和“公司”的關(guān)系,這個(gè)關(guān)系有董事長(zhǎng)、執(zhí)行董事等等

  • 創(chuàng)建“公司”和“概念”的關(guān)系

  • 創(chuàng)建“公司”和“行業(yè)”的關(guān)系

設(shè)計(jì)結(jié)果如下:

注:實(shí)體名字和關(guān)系名字需要易懂,對(duì)于上述的要求,并不一定存在唯一的設(shè)計(jì),只要能夠覆蓋上面這些要求即可?!癝T”標(biāo)記是?用來(lái)刻畫(huà)?個(gè)股票嚴(yán)重虧損的狀態(tài),這個(gè)可以從給定的股票名字前綴來(lái)判斷,背景知識(shí)可參考百科ST股票,“ST”股票對(duì)應(yīng)列表為['*ST', 'ST', 'S*ST', 'SST']。

ST 股票,意即“特別處理”的股票。該政策針對(duì)的對(duì)象是出現(xiàn)財(cái)務(wù)狀況或其他狀況異常的。1998年4月22日,滬深交易所宣布,將對(duì)財(cái)務(wù)狀況或其它狀況出現(xiàn)異常的上市公司股票交易進(jìn)行特別處理(Special Treatment),由于“特別處理”,在簡(jiǎn)稱(chēng)前冠以 ST,因此這類(lèi)股票稱(chēng)為 ST 股。

5.創(chuàng)建可以導(dǎo)?Neo4j的csv文件

在前兩個(gè)任務(wù)里,我們已經(jīng)分別生成了 executive_prep.csv, stock_industry_prep.csv, stock_concept_prep.csv,但這些文件不能直接導(dǎo)入到Neo4j數(shù)據(jù)庫(kù)。所以需要做?些處理,并生成能夠直接導(dǎo)入Neo4j的csv格式。 我們需要生成這?個(gè)文件:executive.csv, stock.csv, concept.csv, industry.csv, executive_stock.csv, stock_industry.csv, stock_concept.csv。對(duì)于格式的要求,請(qǐng)參考:https://neo4j.com/docs/operations-manual/current/tutorial/import-tool/

6.利用上面的csv文件生成數(shù)據(jù)庫(kù)

neo4j_home$ bin/neo4j-admin import --id-type=STRING --nodes executive.csv --nodes stock.csv --nodes concept.csv --nodes industry.csv --relationships executive_stock.csv --relationships stock_industry.csv --relationships stock_concept.csv

這個(gè)命令會(huì)把所有的數(shù)據(jù)導(dǎo)入到Neo4j中,數(shù)據(jù)默認(rèn)存放在 graph.db 文件夾里。如果graph.db文件夾之前已經(jīng)有數(shù)據(jù)存在,則可以選擇先刪除再執(zhí)行命令。

把Neo4j服務(wù)重啟之后,就可以通過(guò)localhost:7474觀察到知識(shí)圖譜了。

注意:這些csv要放到~/.config/Neo4j Desktop/Application/neo4jDatabases/database-xxxx/installation-4.0.4下,即與bin文件夾同級(jí),否則需要絕對(duì)路徑

簡(jiǎn)單查詢命令

# 查詢node MATCH (n:Concept) RETURN n LIMIT 25 # 查詢r(jià)elationship MATCH p=()-[r:industry_of]->() RETURN p LIMIT 100

7.基于構(gòu)建好的知識(shí)圖譜,通過(guò)編寫(xiě)Cypher語(yǔ)句回答如下問(wèn)題

(1) 有多少個(gè)公司目前是屬于 “ST”類(lèi)型的?

match (n:ST) return count(distinct(n)) 104

(2) “600519”公司的所有獨(dú)立董事人員中,有多少人同時(shí)也擔(dān)任別的公司的獨(dú)立董事職位?

MATCH (m:Company{code:'600519'})<-[:employof{jobs:'獨(dú)立董事'}]-(n:Person)-[:employof{jobs:'獨(dú)立董事'}]->(q:Company) RETURN count(distinct(n)) 3

(3) 有多少公司既屬于環(huán)保行業(yè),又有外資背景?

MATCH (:Concept{name:'外資背景'})<-[:conceptof]-(m:Company)-[:industryof]-(:Industry{name:'環(huán)保行業(yè)'}) RETURN count(distinct(m)) 0

(4) 對(duì)于有鋰電池概念的所有公司,獨(dú)立董事中女性人員比例是多少?

MATCH (m:Concept{name:'鋰電池'})<-[:conceptof]-(n:Company)<-[:employof{jobs:'獨(dú)立董事'}]-(p:Person{gender:'女'}) MATCH (m:Concept{name:'鋰電池'})<-[:conceptof]-(n:Company)<-[:employof{jobs:'獨(dú)立董事'}]-(p2:Person) RETURN count(distinct(p))*1.0/count(distinct(p2)) 0.3541666666666667

8.構(gòu)建人的實(shí)體時(shí),重名問(wèn)題具體怎么解決?

(1) 最好的方式是用身份證或者其他唯一能確定人的方式去關(guān)聯(lián)。 (2) 在本例中,我用 姓名、年齡、性別3個(gè)字段做唯一的,將這3個(gè)字段做md5。

碼源下載見(jiàn)文末跳轉(zhuǎn)

碼源下載見(jiàn)文末跳轉(zhuǎn):(https://blog.csdn.net/sinat_39620217/article/details/131587291)

更多優(yōu)質(zhì)內(nèi)容請(qǐng)關(guān)注公號(hào)&知乎:汀丶人工智能;會(huì)提供一些相關(guān)的資源和優(yōu)質(zhì)文章,免費(fèi)獲取閱讀。



手把手教學(xué)構(gòu)建證券知識(shí)圖譜/知識(shí)庫(kù)(含碼源)關(guān)系可視化展示的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
宝山区| 文化| 正安县| 桂阳县| 扎兰屯市| 闻喜县| 扎囊县| 蛟河市| 乌拉特前旗| 夹江县| 丰原市| 富宁县| 阿坝| 新邵县| 蒲城县| 大余县| 丰镇市| 宝应县| 汉川市| 循化| 宝坻区| 稷山县| 瑞金市| 搜索| 台湾省| 屏东市| 巴彦淖尔市| 丰城市| 阳高县| 吐鲁番市| 香港| 东明县| 卓尼县| 苍溪县| 辉县市| 山丹县| 靖西县| 曲麻莱县| 息烽县| 全南县| 木兰县|