2015年12月27日 星期日

Pause script in TCL

proc anykey {{msg "Hit any key: "}} {
    set stty_settings [exec stty -g]
    exec stty raw -echo
    puts -nonewline $msg
    flush stdout
    read stdin 1
    exec stty $stty_settings
    puts ""
}
puts 1
anykey
puts 2


Another suggestion:
proc pause {{message "Hit Enter to continue ==> "}} {
    puts -nonewline $message
    flush stdout
    gets stdin
}

pause "Hurry, hit enter: "; # Sample usage 1
pause;                      # Sample usage 2, use default message

2015年12月16日 星期三

GOOGLEFINANCE

GOOGLEFINANCE

從 Google 財經服務擷取有價證券的最新或過往資訊。

用法範例

GOOGLEFINANCE("GOOG", "price", DATE(2014,1,1), DATE(2014,12,31), "DAILY")
GOOGLEFINANCE("GOOG","price",TODAY()-30,TODAY())
GOOGLEFINANCE(A2,A3)

語法

GOOGLEFINANCE(ticker, [attribute], [start_date], [num_days|end_date], [interval])
  • ticker - 要查詢的有價證券股票代號。
  • attribute - [ OPTIONAL - "price" by default ] - 要從 Google 財經服務擷取的 ticker 相關屬性。
    • attribute 指的是下列即時資料:
      • "price" - 即時報價,最多延遲 20 分鐘。
      • "priceopen" - 股市開盤時的價格。
      • "high" - 今天的最高價。
      • "low" - 今天的最低價。
      • "volume" - 今天的股市交易量。
      • "marketcap" - 股票的市場價值。
      • "tradetime" - 最後成交時間。
      • "datadelay" - 即時資料延遲的時間。
      • "volumeavg" - 平均每日交易量。
      • "pe" - 每股價格/每股盈餘比例。
      • "eps" - 每一股的盈餘。
      • "high52" - 52 週期間的最高價。
      • "low52" - 52 週期間的最低價。
      • "change" - 自上一個交易日收盤以來的價格變化。
      • "beta" - 貝他值。
      • "changepct" - 自上一個交易日收盤以來的價格變化百分比。
      • "closeyest" - 前一天的收盤價。
      • "shares" - 在外流通的股數。
      • "currency" - 有價證券的計價貨幣單位。
    • attribute 指的是下列歷史資料:
      • "open" - 指定日期的開盤價。
      • "close" - 指定日期的收盤價。
      • "high" - 指定日期的最高價。
      • "low" - 指定日期的最低價。
      • "volume" - 指定日期的成交量。
      • "all" - 以上皆是。
    • attribute 指的是下列共同基金資料:
      • "closeyest" - 前一天的收盤價。
      • "date" - 所回報的基金淨值所屬日期。
      • "returnytd" - 年初至今報酬率。
      • "netassets" - 淨資產。
      • "change" - 最近回報基金淨值與上一筆基金淨值的變化。
      • "changepct" - 基金淨值的變化百分比。
      • "yieldpct" - 配息率、前 12 個月收入分配總額 (股息與固定收益利息) 以及基金淨值收益除以上個月的基金淨值。
      • "returnday" - 單日總計報酬率。
      • "return1" - 單週總計報酬率。
      • "return4" - 4 週總計報酬率。
      • "return13" - 13 週總計報酬率。
      • "return52" - 52 週 (1 年) 總計報酬率。
      • "return156" - 156 週 (3 年) 總計報酬率。
      • "return260" - 260 週 (5 年) 總計報酬率。
      • "incomedividend" - 最近的現金配息金額。
      • "incomedividenddate" - 最近的現金配息日期。
      • "capitalgain" - 最近的資本利得分配金額。
      • "morningstarrating" - 晨星的「星級」評比。
      • "expenseratio" - 基金的支出比率。
  • start_date - [ OPTIONAL ] - 擷取歷史資料的開始日期。
    • 如果您指定了 start_date,但是沒有指定 end_date|num_days, 系統就只會傳回一天的資料。
  • end_date|num_days - [ OPTIONAL ] - 擷取歷史資料的結束日期,或是從 start_date 算起要傳回幾天份的資料。
  • interval - [ OPTIONAL ] - 資料的傳回頻率,可使用的值包括「DAILY」或「WEEKLY」。
    • interval 也可以用 1 或 7 的方式來指定,但不能使用其他數值。

注意事項

  • 所有參數都必須括在英文引號中,或是採取內含文字的儲存格參照內容, 除非以數字形式指定 interval,而且以天數指定 end_date|num_days
  • 系統會以一個儲存格傳回即時結果值。所傳回的歷史資料就算只有一天,也會採取展開的陣列形式,並加上欄標題。
  • 如有指定任何日期參數,要求會視為針對歷史資料,因此只允許歷史資料的屬性。
  • GOOGLEFINANCE 只有英文版,而且不支援大部分國家的證券交易資料。

示例

從 Google 財經擷取股市資訊。
以下是常見屬性的清單。
從 Google 財經服務根據指定日期擷取歷史股市資訊。
以下是共同基金常見屬性的清單。
利用 GoogleFinance 傳回的資料擷取結果在儲存格中製作圖表,顯示過去 30 天內的貨幣匯兌趨勢。

2015年12月14日 星期一

利用seconds自動更動檔名 執行regression run

在TCL script中:
set Cdir Test
create $Cdir
.
.
.
set t [clock seconds]
exec mv $Cdir ${Cdir}_${t}

注: clock seconds會以整數的法式回傳由1970年到目前為止經過的秒數; 最後兩行會將directory更名  並且不會重覆
Test --> Test_1449568829

標籤