Q1 2019 Portfolio Review

The first three months of 2019 has seen global equities rebound significantly following last December’s sharp sell-off, driven by a less hawkish Fed and perceived progress made in trade talks between the United States and China.

With geopolitical tensions and mixed economic data threatening to grind the decade-long bull run into a halt, I have decided to positioned my assets to be slightly more defensive in nature – scooping up larger stakes in SSBs, adding a little bond allocation from the recent SIA 3.03% issuance and building a larger recurring income portfolio while cutting new injections in global growth oriented portfolios.

In Summary:

  • Continued building my SSB ladder each month – this will continue until I have six continuous month of interest income
  • Continued my StashAway, STI ETF and VWRD monthly allocation strategy
  • Invested a small sum in SIA 5-year 3.03% retail bonds – might divest this for REITs some time down the road
  • Added Frasers Property Ltd and reduced my CapitaRetail China Trust allocation slightly – this is to reduce the China overweight in my portfolio and also include developers in my real estate mix

This has given my portfolio a slight defensive tilt with broad-market ETFs driving a greater percentage of my overall returns.

YTD performance

I will only include ETF portfolio performances in the review as part of my new asset allocation strategy from 2019.

If you’ve read my earlier posts on building a sustainable and long term ETF portfolio, my strategy includes a mix of global and local ETFs.


1) Freedom Fund at 36% risk level

  • 6.7% (time-weighted)

2) Balanced Fund at 20% risk level

  • 5.3% (time-weighted)


  • 7.15% (time-weighted)

Of course, most of the returns was driven by the recovery of US equities markets.

Looking ahead

With further uncertainty in the markets – Brexit, US-China trade war, US yield curve inversion, weak inflation and slowing economic growth – markets are expected to trade with greater volatility. By stocking up more defensively while remaining invested in risk assets, this bar-bell strategy can help position myself effectively in times of depressed prices.

I plan to continue dollar cost averaging into my ETF portfolios while injecting additional cash into these portfolios when they drop by more than 5%.

Derrick is a digital native, finance geek and avid photographer. He loves spontaneity but is a control freak at the same time.

Leave a reply:

Your email address will not be published.

Site Footer

jQuery(document).ready( function($) { // get max length of article var getMax = function(){ return $(document).height() - $(window).height() - $('.top_menu_wrapper').height(); } // get current scroll position var getValue = function(){ return $(window).scrollTop() - $('.top_menu_wrapper').height(); } // if browser supports html5 progress element if ('max' in document.createElement('progress')) { // define progressbar element var progressBar = $('#reading_progress'); // set progressbar max attribute progressBar.attr({ max: getMax() }); // change progress bar attr values on scroll or resize $(window).on('resize scroll',function(){ progressBar.attr({ max: getMax(), value: getValue() }); }); } else { // if browser don't support html5 // get progress precent var setWidth = function() { // define progressbar element var progressBar = $('.reading-progress-bar'); // get max length of article var max = getMax(); // get current scroll position var value = getValue(); // set progress percent var width = (value/max) * 100; width = width + '%'; // set progress bar width style progressBar.css({ width: width }); } $(window).on('resize scroll', function(){ setWidth(); }); } // if sticky menu enabled, set top of progress bar if (jQuery('.invisible_header').length) { if (jQuery('.header_logo_wrapper .container').width() < 600) { var bartop = jQuery('.sticky_header').height(); } else { var offset = jQuery('.sticky_header').offset(); var bartop = offset.top + jQuery('.sticky_header').height(); } jQuery('#reading_progress.progress_sticky_header').css('top', bartop); } });