2018年6月30日 星期六

短期資金停泊 --- CD 定存單

定期定額的投資人通常會分四季進場
美股通常是季配息
選擇在標的配息完的時間再買入

資金匯出金額多一些,相對手續費會較低
通常會匯出一年份的資金
以免手續費的成本過高


這樣就會有 3 筆資金需要暫時找個短期標的停泊
分別要存放 3、6、9 個月
這時可以考慮定存或短期債券
定存是最沒有風險的標的

美國的定存與債券的特性相同
由銀行發行定存單 (certificates of deposit, CD)
購買後持有到期可獲得利息
如未到期想要拿回資金,則要賣出 CD
價格就不一定是當初買入的價格

TD 購買 CD 並不會收取手續費


進入 CD center 可看見 3、6、9、12 個月的 CD

個人比較喜歡買短期的 CD
由於美國現在走升息循環
利息上升的可能性較大
買滿三個月的 CD
到期後再購買三個月的 CD


挑選較高利率的 CD 購買
購買一單位的價格是 1000 美金
CD 名稱是發行銀行的名字
利率是年利率,日期為到期日
利息通常是到期後連同本金一起匯入

短期資金停泊
CD 是不錯的選擇
定存是風險最低的獲利方式

2018年6月29日 星期五

新興市場 etf: SPEM VS VWO

markdown

現行 TD 的免佣金已開發市場為 SPEM
指數化 etf 大家最推崇的是 Vanguard 系列
但現在 Vanguard 主要的 etf 都沒有免佣金
對我這種小額投資人來說再平衡會是很大的開銷

etf 的績效會受到**追蹤指數**、**內扣費用**、**資產規模**的影響
VWO 追蹤的是 FTSE Emerging Markets All Cap China A Inclusion Index,內扣費用 0.14%
SPEM 追蹤的是 S&P Emerging BMI Index,內扣費用 0.06%
內扣費用越低越好,可以看見 SPEM 想要力抗 VWO
資產規模如下圖


Vanguard 系列的 etf 藉由低內扣費用與良好的追蹤效率
獲得多數投資人的青睞,資產規模明顯大很多
資產規模大代表流通性好、買賣價差小
比較不會有偏離淨值的情形
etf 也會有較多的資金買齊指數標的

由於兩者追蹤的指數不同,放在一起比較有點不太公平
來看看追蹤指數的效率


Vanguard 的 etf 追蹤效率較好
VWO 持有 4052 檔股票
SPEM 持有 1253 檔股票
所以 VWO 可以獲得小型股的成長效益


以投資績效來看
SPEM 的績效比 VWO 略好
因為新興市場的波動性較大
也許持有較多比例的大型股會相對穩定一些

VWO
SPEM
追蹤能力
內扣費用
資產規模

總結來說
如果不計較手續費的話,VWO 會是較好的選擇
長期投資帶來的效益,會高於省下的手續費
但是如果有搭配其他 etf 做資產配置的話
進行資產再平衡的手續費得再自行精算是否會造成過高的交易成本

雖然近十年是 SPEM 的績效略好一些
但是過去績效不代表未來績效
由於 VWO 的追蹤效率較好
長期能帶來更貼近指數的報酬

獲得市場指數的報酬
才是指數化投資 etf 的目的

美國以外已開發市場 etf: SPDW VS VEA

markdown

現行 TD 的免佣金已開發市場為 SPDW
指數化 etf 大家最推崇的是 Vanguard 系列
但現在 Vanguard 主要的 etf 都沒有免佣金
對我這種小額投資人來說再平衡會是很大的開銷

etf 的績效會受到**追蹤指數**、**內扣費用**、**資產規模**的影響
VEA 追蹤的是 FTSE Developed all Cap Ex-US Index,內扣費用 0.07%
SPDW 追蹤的是 S&P Developed Ex-US BMI Index,內扣費用 0.04%
內扣費用越低越好,可以看見 SPDW 想要力抗 VEA
資產規模如下圖


Vanguard 系列的 etf 藉由低內扣費用與良好的追蹤效率
獲得多數投資人的青睞,資產規模明顯大很多
資產規模大代表流通性好、買賣價差小
比較不會有偏離淨值的情形
etf 也會有較多的資金買齊指數標的

由於兩者追蹤的指數不同,放在一起比較有點不太公平
來看看追蹤指數的效率



很明顯 Vanguard 的 etf 追蹤效率好很多
VEA 持有 3788 檔股票
SPDW 持有 1561 檔股票
所以 VEA 可以獲得小型股的成長效益


以長期投資績效來看
VEA 的績效略好一些

今年股市是震盪年
以今年來看 SPDW 的抗跌性比 VEA 好
可能 SPDW 持有股票檔數較少
且多數集中在大型股
股價相對穩定一些

VEA
SPDW
追蹤能力
內扣費用
資產規模

總結來說
如果不計較手續費的話,VEA 會是較好的選擇
長期投資帶來的效益,會高於省下的手續費
但是如果有搭配其他 etf 做資產配置的話
進行資產再平衡的手續費得再自行精算是否會造成過高的交易成本

不過 SPDW 改名、降低內扣費用與加入 TD 免佣金名單是去年 10 月的事情
也許未來 SPDW 的追蹤能力會有所提升
資產規模也會增加
券商的競爭是投資者的福音
持續關注 etf 變化也是很重要的事
不要無腦買進
要弄清楚自己投資了甚麼

2018年6月21日 星期四

使用 Shiny 觀察果菜拍賣市場洋蔥的交易情形

前一篇文章有解說 Shiny 的使用方式:
自行上傳果菜市場的資料到 Shiny 上分析
這次來看看洋蔥近三年來的交易情形
資料處理方式同前一篇文章

這次新增選擇品種
可以選擇想要比較的品種與市場


先來看看日期與平均價格的分布關係


可以看見上半年的價格會在低點
下半年的價格會有高點
2018 年上半年的價格確實比 2017 年下半年低
然而 2017 整體看來,價格波動較小
再來看看交易量的變化


可以看見本土洋蔥今年的交易量比前兩年大很多
所以價格跌的比前兩年多也是合理的狀況
進口洋蔥的交易量與本土洋蔥呈現負相關
表示洋蔥產季並不會有大量的進口洋蔥進入果菜市場交易
所以進口洋蔥不是造成洋蔥價格大跌的主要因素

接著看各交易市場的交易量


台北的交易量明顯較多
看起來多數的進口洋蔥進入台北的交易市場
這也是合理現象
北部人口較多,需求量相對也多
這樣北部的農產品價格可能會成為產地的訂價標準
中南部則是西螺的交易量最多

各交易市場的平均價格


各交易市場的平均價格沒有明顯趨勢
交易量低的市場平均價格會比較低
台北容易出現最高價的價格
符合交易的供需法則現象

-----

台灣農業大部分是露天種植
受到氣候的影響很大
去年沒有嚴重的颱風災情
今年上半年氣候多數晴朗無雨
沒有甚麼農損災情
使得收穫量大增
而台灣市場短期內無法消耗如此多的產量
價格自然崩跌
農傳媒:產期重疊價格下滑,恆春半島洋蔥如何找到新出路
上文提到種植面積大增、風調雨順是影響今年價格的因素
有穩定的量便會有穩定的價格
如何調節多餘的量就是主要的問題
這就需要產銷單位、農民與政府共同合作了

-----

Shiny 程式碼與洋蔥資料如下:
打包下載


2018年6月16日 星期六

自行上傳果菜市場的資料到 Shiny 上分析

markdown

上篇文章收錄了 Shiny 的程式碼
之前也有寫過果菜市場交易情形的互動式資料:
以 Shiny 呈現農產品交易行情
由於每次都還要寫載入資料的指令
所以便嘗試使用在 Shiny 直接上傳資料
增進一些方便性

## 資料前處理
從農產品批發市場交易行情站取得的資料不符合我要的格式
處理方式與之前寫過的文章一樣:
以 R 語言來看農產品價格的起跌
接著存檔為 CSV 檔

## 上傳資料到 Shiny
接著便可上傳整理好的 CSV 檔到 Shiny 上


點選 Browse 選擇要上傳的檔案
資料匯入完成後便會出現圖表



使用者可以自行定義 X、Y 軸與不同的顏色類別
來觀看想要查看資料的分布情形
這就是互動式資料的好處
而不是只接受圖表製作者做好的圖表

圖中點的大小可以藉由滑動旁邊的 size 做調整
下面的選項可以勾選想要了解的交易市場狀況
可以看見台北市場的交易價格與數量比其他市場好
目前能做的程度大概就是這樣
持續學習中

Shiny 使用者上傳資料並建立互動式資料 --- 腳本

程式碼

library(shiny)
library(ggplot2)
library(dplyr)
library(DT)

shinyUI(fluidPage(
  titlePanel("Analysis Produce Price"),
  sidebarLayout(
 
    # Input(s)
    sidebarPanel(width = 2,
                  fileInput("file1", "Choose CSV File",
                  accept = c("text/csv",
                             "text/comma-separated-values,text/plain",
                             ".csv")),
               
                 # Select variable for x-axis
                 uiOutput("x.selector"),
               
                 # Select variable for y-axis
                 uiOutput("y.selector"),
               
                 # Select color
                 uiOutput("col.selector"),
               
                 # Select point size
                 sliderInput(inputId = "size",
                             label = "Size:",
                             min = 0, max = 5,
                             value = 2),
               
                 # Select which markets on to plot
                 uiOutput("market.selector"),
               
                 # Show data table
                 uiOutput("showdata.selector")
    ),
    # Output(s)
    mainPanel(width = 10,
              tabsetPanel(id = "tabspanel", type = "tabs",
                          tabPanel(title = "Plot",
                                   plotOutput(outputId = "scatterplot")),
                       
                          tabPanel(title = "Data",
                                   DT::dataTableOutput(outputId = "table"))
              )
    )
  )
))


library(shiny)
library(ggplot2)
library(dplyr)
library(DT)

shinyServer(function(input, output, session) {
  
  price <- reactive({
    myfile <- input$file1
    if(is.null(myfile))
      {return()}
    mydata <- read.table(myfile$datapath, header = TRUE, sep = ",")
    mydata <- mydata[, 1:9]
    colnames(mydata) <- c("date", "market", "product", "high", "medium", "low", "price_avg", "volume", "value")
    mydata$date <- as.Date(paste(as.numeric(substr(mydata$date, 1, 3)) + 1911, substr(mydata$date, 4, 9), sep = ""))
    mydata$volume <- as.numeric(mydata$volume)
    mydata$market <- as.character(mydata$market)
    mydata$product <- as.character(mydata$product)
    mydata <- mydata[!is.na(mydata), ]
    return(mydata)
  })
  
  #Create UI condition
    # Select variable for x-axis
    output$x.selector <- renderUI({
    selectInput(inputId = "x", 
              label = "X-axis:",
              choices = names(price()),
              selected = names(price())[1])
    })
    
    # Select variable for y-axis
    output$y.selector <- renderUI({
    selectInput(inputId = "y", 
              label = "Y-axis:",
              choices = names(price()), 
              selected = names(price())[7])
    })
    
    # Select color
    output$col.selector <- renderUI({
    selectInput(inputId = "z",
              label = "Color by:",
              choices = names(price()),
              selected = names(price())[3])
    })
    
    # Select which markets on to plot
    output$market.selector <- renderUI({
    checkboxGroupInput(inputId = "selected_market",
                       label = "Select market(s):",
                       choices = levels(factor(price()$market)),
                       selected = levels(factor(price()$market)))
    })
    
    # Show data table
    output$showdata.selector <- renderUI({
    checkboxInput(inputId = "show_data",
                  label = "Show data table",
                  value = TRUE)
    })
    
  # Create a subset of data filtering for selected markets
  price_subset <- reactive({
    req(input$selected_market)
    filter(price(), market %in% input$selected_market)
  })
  
  # Create scatterplot object the plotOutput function is expecting
  output$scatterplot <- renderPlot({
    ggplot(data = price_subset(), aes_string(x = input$x, y = input$y, color = input$z)) +
      geom_point(size = input$size)
  })
  
  # Update code below to render data table regardless of current state of input$show_data
  output$table <- DT::renderDataTable({
    DT::datatable(data = price()[, 1:9], 
                  options = list(pageLength = 10), 
                  rownames = FALSE)
  })
  
  # Display data table tab only if show_data is checked
  observeEvent(input$show_data, {
    if(input$show_data){
      showTab(inputId = "tabspanel", target = "Data", select = TRUE)
    } else {
      hideTab(inputId = "tabspanel", target = "Data")
    }
  })
})

成果



下篇文章再來說說這個 Shiny 的功能
已經撰寫完成:

2018年6月12日 星期二

TD 免佣 etf 之一 GMF --- 亞洲新興市場

markdown

新興市場大致上可分為 3 個區塊
1.亞洲
2.東歐
3.拉丁美洲

看好中國大陸與東協區域的發展
亞洲新興市場是近期的投資熱點
加上北韓與美國破冰
也許會為亞洲市場帶來更好的發展

GMF 為投資亞洲新興市場的 ETF
除去掉日本與南韓的市場
主要投資區域為中國、台灣、印度與其他東南亞國家
也在 TD 的免佣金名單中


上圖為截至去年九月為止的資料
中國佔前十大持股的比例很高
近一年來的報酬率高達 22.88%


投資特定區域的成本會比較高
反映在內扣成本上
內扣成本為 0.49%
資產規模也不夠大
導致流通性不佳
買賣價差有點過大

研究完後不太建議投資此 etf
買賣價差過大
容易導致買到過高的價格
要賣出時則會賣在過低價格

2018年6月8日 星期五

美國總體市場投資 etf: SPTM VS VTI

markdown

由於 TD 取消了 VTI 的免手續費優惠
可以取代的 etf 為 SPTM
評估一下兩者的差異

etf 的績效會受到**追蹤指數**、**內扣費用**、**資產規模**的影響
VTI 追蹤的是 CRSP US total market,內扣費用 0.04%
SPTM 追蹤的是羅素 3000,內扣費用 0.03%
內扣費用越低越好,可以看見 SPTM 想要力抗 VTI
資產規模如下圖



Vanguard 系列的 etf 藉由低內扣費用與良好的追蹤效率
獲得多數投資人的青睞,資產規模明顯大很多
資產規模大代表流通性好、買賣價差小
比較不會有偏離淨值的情形
etf 也會有較多的資金買齊指數標的

由於兩者追蹤的指數不同,放在一起比較有點不太公平
來看看追蹤指數的效率



10 年來兩者追蹤指數的效果都很好
不過 5 年與 1 年的追蹤效果明顯 VTI 比較貼近指數表現
VTI 持有 3609 檔股票
SPTM 持有 2773 檔股票
所以 VTI 可以獲得小型股的成長效益



以投資績效來看
VTI 表現也略優於 SPTM

VTI
SPTM
追蹤能力
內扣費用
資產規模

總結來說
如果不計較手續費的話,VTI 會是較好的選擇
長期投資帶來的效益,會高於省下的手續費
但是如果有搭配其他 etf 做資產配置的話
進行資產再平衡的手續費得再自行精算是否會造成過高的交易成本

不過 SPTM 改名、降低內扣費用與加入 TD 免佣金名單是去年 10 月的事情
也許未來 SPTM 的追蹤能力會有所提升
資產規模也會增加
券商的競爭是投資者的福音
持續關注 etf 變化也是很重要的事
不要無腦買進
要弄清楚自己投資了甚麼

<房市老手21堂超強實戰課:快速看穿房屋買賣陷阱>閱讀筆記

https://www.taaze.tw/apredir.html?131322949/https://www.taaze.tw/products/11100982076.html?a=b 賣房篇 1.      頂樓加蓋對於房價 頂樓加蓋還是可以計入房價,多為房屋單坪價格的 1...