① 股票數據存csv還是mysql
股票數據存csv。CSV,英文原文為:Comma(逗號)-Separated(分割)Values(數值),有時也稱為字元分隔值,CSV文件格式的通用標准並不存在,但是在RFC4180中有基礎性的描述。使用的字元編碼同樣沒有被指定,但是bitASCII是最基本的通用編碼。
② 10億級別的資料庫 用什麼比較好mysql合適嗎
10億級別的什麼數據?
如果是 關系型很強,而且數據很值錢的數據, 例如 顧客--交易--商品--金額 一個系列的, 那麼這種很重要的數據,建議是 Oracle, 因為 數據丟不起啊。
如果是 關系型強, 但是數據不是很值錢的數據, 例如 A股 從開市以來, 所有股票的 每日,每小時,30分,15分,5分 鍾的行情數據。 那麼你可以使用 Mysql。 反正丟了就重新導入一次。
如果是 關系型不強, 數據也不是很值錢的數據, 例如 論壇的帖子 這一類的, 那麼用 mongodb 就更合適一些。
③ 【手把手教你】搭建自己的量化分析資料庫
量化交易的分析根基在於數據,包括股票歷史交易數據、上市公司基本面數據、宏觀和行業數據等。面對信息流量的持續增長,掌握如何獲取、查詢和處理數據信息變得不可或缺。對於涉足量化交易的個體而言,對資料庫操作的掌握更是基本技能。目前,MySQL、Postgresql、Mongodb、SQLite等開源資料庫因其高使用量和受歡迎程度,位列2018-2019年DB-Engines排行榜前十。這幾個資料庫各有特點和適用場景。本文以Python操作Postgresql資料庫為例,藉助psycopg2和sqlalchemy實現與pandas dataframe的交互,一步步構建個人量化分析資料庫。
首先,安裝PostgreSQL。通過其官網下載適合操作系統的版本,按照默認設置完成安裝。安裝完成後,可以在安裝目錄中找到pgAdmin4,這是一個圖形化工具,用於查看和管理PostgreSQL資料庫,其最新版為Web應用程序。
接著,利用Python安裝psycopg2和sqlalchemy庫。psycopg2是連接PostgreSQL資料庫的介面,sqlalchemy則適用於多種資料庫,特別是與pandas dataframe的交互更為便捷。通過pip安裝這兩個庫即可。
實踐操作中,使用tushare獲取股票行情數據並保存至本地PostgreSQL資料庫。通過psycopg2和sqlalchemy介面,實現數據的存儲和管理。由於數據量龐大,通常分階段下載,比如先下載特定時間段的數據,後續不斷更新。
構建數據查詢和可視化函數,用於分析和展示股價變化。比如查詢股價日漲幅超過9.5%或跌幅超過-9.5%的個股數據分布,結合選股策略進行數據查詢和提取。此外,使用20日均線策略,開發數據查詢和可視化函數,對選出的股票進行日K線、20日均線、成交量、買入和賣出信號的可視化分析。
資料庫操作涉及眾多內容,本文著重介紹使用Python與PostgreSQL資料庫的交互方式,逐步搭建個人量化分析資料庫。雖然文中使用的數據量僅為百萬條左右,使用Excel的csv文件讀寫速度較快且直觀,但隨著數據量的增長,建立完善的量化分析系統時,資料庫學習變得尤為重要。重要的是,文中所展示的選股方式和股票代碼僅作為示例應用,不構成任何投資建議。
對於Python金融量化感興趣的讀者,可以關注Python金融量化領域,通過知識星球獲取更多資源,包括量化投資視頻資料、公眾號文章源碼、量化投資分析框架,與博主直接交流,結識圈內朋友。
④ 請問大家什麼軟體能夠用外部指標進行歷史回測
需要一些比較專業的統計軟體。第三方炒股軟體一般都做的不好,有些我拿更權威的統計軟體去計算,發現結果居然是錯的。這個是個人經驗(不過有點過時了,2012年嘗試的,估計那個軟體自己已經把錯誤更改了。)。
建議你做以下操作:
自己收集外部指標,並隨時更新。如果可以的話,自己建個資料庫。MYSQL之類的,免費而且非常容易上手。
選擇一款可以輕松將金融數據導出成標准格式的第三方炒股軟體。這個就是你自己的喜好了。大部分軟體,這方面做的還是不錯的,雖然要交費。
用一款比較專業的統計軟體,將兩者數據導入,然後按自己的想法,自由自在的做分析。你可以隨便選一款你自己使用著習慣的統計軟體。EVIEWS之類的太簡單,包含的東西太少了。高度建議你選擇一些自帶金融計量分析工具的軟體。建議你用以下統計軟體:
MATLAB。這個上手超快,前提是你很好的學過線性代數,因為計算是以矩陣為基礎的。他自帶的financial econometrics tool box包含的東西非常廣,非常全。就算沒有,因為軟體自由度很高,所以可以輕松自己創造出一個。
STATA。這個上手比上面那個還快。而且,不需要很好的線性代數,因為編程理念不是以矩陣為基礎的。自帶的金融計量的東西很多很全。更新也很快。缺點是,沒上面那個自由度高。某些全新的演算法和公式,你想用的話,自己寫出來比較費勁,效率也容易低。特別是你想做蒙特卡羅模擬實驗的時候。
其他的那些免費的統計軟體,比如R, OX之類的我並不建議。因為是免費的,所以用戶體驗做的並不好。
⑤ 利用Tushare獲取股票數據(全面詳細,照著敲就可以)
Tushare是一個專為金融分析人員設計的免費Python財經數據介麵包,它簡化了從數據採集到存儲的過程,以pandas DataFrame格式提供高效的數據。通過Python的pandas、NumPy和Matplotlib,分析人員可以方便地進行數據處理和可視化,同時支持Excel和關系型資料庫的分析。Tushare覆蓋了股票、基金、期貨、數字貨幣等廣泛的數據內容,以及基本面數據,如公司財務和基金經理信息,且支持多語言的SDK和RESTful介面,適應不同用戶的需求。數據存儲選項包括Oracle、MySQL、MongoDB、HDF5和CSV,確保了數據獲取的性能和便利性。
安裝Tushare依賴環境只需執行pip install tushare,查看版本信息時,導入並列印tushare的__version__屬性即可。以下是使用Tushare獲取股票數據的步驟:
⑥ mysql怎麼做股票資料庫
#!/usr/bin/python
# -*- coding: UTF-8 -*-
import tushare as ts
from sqlalchemy import create_engine
code_list = []
#資料庫鏈接參數
host = '10.0.0.5'
port = 3306
user = 'root'
password = 'qweqwe'
database = 'stock'
charset = "utf8"
table = "stock_data"
# create table stock_data(id int auto_increment,code int(6) zerofill,date date not null,open decimal(10,2) not null,high decimal(10,2) not null,close decimal(10,2) not null,low decimal(10,2) not null,volume decimal(10,2),turnover decimal(10,2),primary key (id),index(code),index(date),index(open),index(high),index(close),index(low));
def get_data (code):
df = ts.get_hist_data(code)
data = df.iloc[::-1, [0, 1, 2, 3, 4, 13]]
data["code"] = code
return data
def save_data_to_mysql (data,user = 'root',password = 'qweqwe',database = 'stock',charset = "utf8",table = "stock_data"):
engine = create_engine('mysql://' + user + ':' + password + '@' + host + '/' + database + '?charset=' + charset)
data.to_sql(table, engine, if_exists='append')
return
for code in code_list:
try:
data = get_data(code)
save_data_to_mysql(data)
print str(code) + "導入mysql成功"
except:
print str(code) + "獲取數據失敗"