mydate[date_]:=Block[{temp}, temp=Import[ "http://www.twse.com.tw/exchangeReport/MI_INDEX.html?date="<>ToString@date<>"&type=ALLBUT0999", "JSON"]; {("data1"/.temp)[[All,{1,2,4,5}]],("data5"/.temp)[[All, {1,2,3,4,5,6,7,8,9,11}]]}] mydate[20170719][[1]] // TableForm mydate[20170719][[2]] // TableForm test=Quiet@{ {ToExpression@StringJoin@Characters[ToString@#][[1;;4]], ToExpression@StringJoin@Characters[ToString@#][[5;;6]], ToExpression@StringJoin@Characters[ToString@#][[7;;8]]}, mydate[#][[1,4]]}&/@Map[ToExpression@ StringJoin[ToString/@{#[[1]], If[#[[2]]<10>ToString[#[[2]]],ToString[#[[2]]]], If[#[[3]]<10>ToString[#[[3]]], ToString[#[[3]]]]}]&, DayRange["2017/05/1","2017/07/21"][[All,1]]]//Parallelize; DateListPlot[{#[[1]], ToExpression@StringReplace[#[[2,2]],","->""]}&/@ Select[test,Length@#[[2]]==4&],Filling->Bottom] Block[{tempdata}, tempdata={#[[1]],ToExpression@StringReplace[#[[2,2]],","->""]}&/@ Select[test,Length@#[[2]]==4&]; DateListPlot[tempdata,Filling->Bottom, Epilog->{Red,PointSize[0.025],Point[{tempdata[[#[[1]]]][[1]],#[[2]]}]&/@ FindPeaks[tempdata[[All,2]]]}]]
Mathematica 教學:抓取證交所股價資料
由 戴忠淵 於 2017年7月23日星期日
下午11:36 發表
讀者回應 ( 0 意見 )
訂閱發佈留言 (Atom)
發佈留言
Please leave your name and tell me what you thought about this site. Comments, suggestions and views are welcomed.
如果這篇文章對你有幫助,那請留個訊息給我~