Python 板


LINE

※ 引述《mantix (= =)》之銘言: : ※ 引述《luke93 (不廢江河萬古流)》之銘言: : : 標題: [分享] Python練習-取得股票資訊 : : 時間: Fri Apr 24 22:53:54 2009 : : """ 小弟再來一發好了,底下用既有的套件,來開發自己的程式交易系統, 真的只要30分鐘就好了!!!. 無須知道底層API怎麼運作,只要知道你自己的交易策略就好. http://funningboy.blogspot.tw/2013/04/ta-lib-bigdata-stock-analysis-tool.html : : 最近的練習,發現python真的滿好用的 : : 改變stock_ids的內容就可以增減想看的股票 : : 一部分的code也是參考某位鄉民的,感謝 : : 如果有人願意提供什麼想法的話,非常感謝 : 最近做研究需要股票的資料,想說到底要怎麼取得 : 剛好看到原po 提供的code,弄了好久 : 終於改成可以抓google finance history 的版本 : 這裡分享給大家 : -------------fetch_gf.py-OB----------------- : #!/usr/bin/python : ### fetch google finance historical data ## : import httplib : import urllib2 : import re : def debug_print( s, msg = None): : print "DEBUG", msg, s : pass : # get url : # https://www.google.com/finance/historical?q=TPE:2330&startdate=1/31/1986&start=30&num=30 : def get_site( stkID = 2330, month = 1, day = 1, year = 1985, start = 0, num = : 30): : return 'https://www.google.com/finance/historical?q=TPE:' + \ : str( stkID ) + '&startdate=' + \ : str(day) + '/' + str(month) + '/' + str(year) + \ : '&start=' + str(start) + '&num=' + str(num) : # testing : #debug_print(get_site(2485, 1, 31, 1986, 0, 200)) : #debug_print(get_site()) : # target source: : # date, open, high, low, close, volume : #<td class="lm">Jun 8, 2012 : #<td class="rgt">77.00 : #<td class="rgt">78.70 : #<td class="rgt">77.00 : #<td class="rgt">77.90 : #<td class="rgt rm">34,628,000 : pattern = r'<td class="lm">(.+)' + \ : '\s<td class="rgt">([\d\.]+)' + \ : '\s<td class="rgt">([\d\.]+)' + \ : '\s<td class="rgt">([\d\.]+)' + \ : '\s<td class="rgt">([\d\.]+)' + \ : '\s<td class="rgt rm">([\d\,]+)' : reg_price = re.compile( pattern ) : pattern_total_size = : r'google\.finance\.applyPagination\(\s+\d+,\s+\d+,\s+(\d+),\s+' : reg_row_size = re.compile( pattern_total_size ) : def write_fetch_data(fileName, stock_id = 0): : f = open( fileName, 'a') : if stock_id < 1000 : : return None : # Get web page content : urlsite = get_site(stock_id, 1, 31, 1986, 0, 200) : content = opener.open( urlsite ).read() : match_r_sz = reg_row_size.search( content ) : if (match_r_sz is None): : print "stock_id: "+ str(stock_id) + " not found! " : return None : ## write ID SZ line : row_size = int (match_r_sz.groups()[0]) : id_line = "*ID:" + str(stock_id) + " SZ: " + str(row_size) : print id_line : f.write(id_line) : f.write('\n') : ## page number , 200rows/page : page_num = row_size/200 + 1; : print "pages: " + str(page_num) : page_range = range(page_num) : for i in page_range: : start_pos = i*200 : site = get_site(stock_id, 1, 31, 1986, start_pos, start_pos+200) : cnt = opener.open( site ).read() : stock_data = reg_price.findall( cnt ) : length = len(stock_data) : if (length is 0 ): : print "stock_id: "+ str(stock_id) + " not found! " : return None : else: : for i in range(length): : f.write(str(stock_data[i])) : f.write("\n") : #### Main #### : fileName = 'stock.data' : f = open(fileName, 'w') : f.close() ## rewrite data : httplib.HTTPConnection.debuglevel = 1 : opener = urllib2.build_opener() : opener.addheaders = [('User-agent', 'Mozilla/5.0')] : #stock_ids = range(9999) : stock_ids = (1111, 2330, 2485) : print 'Start Fetch!' : for stock_id in stock_ids: # fetch all : write_fetch_data(fileName, stock_id) --



※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 36.224.38.125
1F:推 gozule:TA-lib真是神物~~ 04/03 01:58
2F:推 u9211008:這個模組看起來好像不錯用,不過有沒有辦法在XP下安裝呢?? 06/03 22:08







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:WOW站內搜尋

TOP