5/23/2012

用Excel製作藍籌報價表


用Excel製作藍籌報價表


撰文:馬澤祺 永豐金融集團研究部分析員
欄名:投資棋盤

踏入5月份,環球股市持續急瀉,港股13個交易日中錄得11日跌市,累跌逾2,000點,投資者遍體鱗傷;而剛過去的周末,美國於八國峰會改口支持推動經濟增長後,日圓及貴金屬上升,市場對「印銀紙」預期有所升溫,而恒指昨日亦有在低位喘定的迹象。

是否將要見底反彈?不肯定,但知道的是恒指中綫動力一般,投資者多數願意等待,不存在「遲了怕買不到」的心態,在這種情況下,即使短期跌幅已大,亦較難有強勢反彈出現,更容易轉入反覆橫行的走勢。

資金將集中人氣高重磅股

而倘若從消息面上看,美國態度的轉變雖屬利好,但峰會的說法太含糊,不足以推動中長綫資金積極入市,在這情況下,縱有反彈,亦屬短暫。另一方面,希臘政局預期在6月重選前後仍將動盪,而在消息主導的情況下,容易出現過度悲觀或樂觀的氣氛,投資者宜注意大市會否在該段時間出現中期轉向,提供較佳的操作機會。

值得留意的是,大市欠缺資金的情況下,資金將集中於人氣最高的重磅股份,二、三綫股相對較難受惠;另外,倘若歐美再度「印銀紙」,但力度只足以抒困而不足以帶來重大刺激,則市場很可能繼續擔心經濟前景,而資金將流入醫藥及電訊等較不受經濟周期影響的股份(而這兩類股份,近日已開始跑贏大市,值得留意)。

從YQL到Excel

就YQL的應用,上回筆者讓讀者們在YQL Console中鍵入「select Name,Open,DaysHigh,DaysLow,LastTradePriceOnly,ChangeinPercent from yahoo.finance.quotes where symbol in ("^HSI","0005.HK","0941.HK")」,以取得恒指(^HSI)、滙豐(00005)及中移動(00941)的名稱、開市價、高位、低位、收市價及變動百分比數據,而後又從「The REST Query」一欄中抄出URL使用。

值得留意的是,這個yahoo.finance.quotes的YQL table,背後也是使用Yahoo所提供的csv格式股票資源下載,不過使用了一些編程技巧,將原本的欄位變得更可讀,同時又繞過了Yahoo! Finance csv query設下每次最多查詢20隻股份的限制。

既然如此,我們便可以利用YQL,以及Excel從網上讀取XML資料的功能,製造一個Excel的恒指成分股報價表出來。要查詢所有藍籌股的資料不難,只消逐一將股票編號加到Query中就可以了;值得一提的是,我們原先在Console中直接取用yahoo.finance.quotes,但當我們透過瀏覽器(或Excel)取用YQL時,較佳的方法是在YQL中以「use」指令指名在哪兒可找到表格,而這次使用的yahoo.finance.quotes是在http://www.datatables.org/yahoo/finance/yahoo.finance.quotes.xml。

製作Query Alias

將以下一段YQL Statement抄到Console中,拍下Enter,便能夠得到恒指成分股的XML報價:

use "http://www.datatables.org/yahoo/finance/yahoo.finance.quotes.xml"; select Name, Open, DaysHigh, DaysLow, LastTradePriceOnly, ChangeinPercent from yahoo.finance.quotes where symbol in ("^HSI", "0001.HK", "0002.HK", "0003.HK", "0004.HK", "0005.HK", "0006.HK", "0011.HK", "0012.HK", "0013.HK", "0016.HK", "0017.HK", "0019.HK", "0023.HK", "0066.HK", "0083.HK", "0101.HK", "0144.HK", "0151.HK", "0267.HK", "0291.HK", "0293.HK", "0322.HK", "0330.HK", "0386.HK", "0388.HK", "0494.HK", "0688.HK", "0700.HK", "0762.HK", "0836.HK", "0857.HK", "0883.HK", "0939.HK", "0941.HK", "1044.HK", "1088.HK", "1109.HK", "1199.HK", "1299.HK", "1398.HK", "1880.HK", "1898.HK", "2318.HK", "2388.HK", "2600.HK", "2628.HK", "3328.HK", "3988.HK")

值得一提的是,雖然YQL在The REST Query中提供了URL,但讀者可能會發現,Excel在滙入網上資料時並不容許我們打進這麼長的URL(不知道是Bug還是為了安全理由而作出的限制);幸而,YQL還容許我們創製URL的短名,讀者們只要點擊右上方「Create Query Alias」的鏈結,Yahoo!便會容許我們以短名代替現時在Console中的一長串Query。

在Excel中輸入XML資料

譬如以上一長串恒指成分股報價的Query,筆者便以短名「hsimembers」代替,而Yahoo!會提供兩個URL,分別為公眾使用的Public URL,以及需要取得認證方能使用的Authenticated URL。我們Query的Public URL為http://query.yahooapis.com/v1/public/yql/jackyma/hsimembers,任何人只要在網址欄輸入這個URL,就能夠執行我們剛才輸入的YQL,獲得XML格式的回覆資料。

最後,在Excel當中(請參閱附上的Excel檔),我們選擇「Data->Get External Data->from Web」,然後將上面的Public URL打進網址欄,恒指成分股的資料便已顯示出來,圈選後按「Import」,Excel便會問我們要將資料放在哪個格子等,按「OK」後,會出現了一個表格,除了我們所選擇的名稱、開市價、高位、低位、收市價及變動百份比欄位外,倘多出了三個沒甚麼用途的欄「ns1:count」、「ns1:created」及「ns1:lang」,只消刪掉了,然後重排一下欄位,就是很清楚的藍籌報價表了。

再補充一點,就是我們可以在「Data->Existing Connections」中找到我們這個YQL的Connection,按右鍵選Edit Properties,便有選項讓這個Connection自動Refresh,自動更新報價(只是仍是延遲報價)。

沒有留言:

張貼留言