Ingredients : A cup of Factor Investing principles; A sprinkle of stock metrics freshly web scraped from Yahoo Finance ; A splash of your favorite data normalization and composite score aggregation method for flavouring, and seasoned to taste with a generous dollop of common sense

Image for post
Image for post
Source : Dreamstime Stock Photos

In this article, we examine a generic framework that can be used to select, normalize and aggregate factors that determine relative stock performance in order to build a stock ranking / screening tool that can be used to inform your stock portfolio construction.

Warning ! I am not an investment guru of any sort so…

Image for post
Image for post

Picture a scenario where you’re in a SME and have spent some time developing a custom spreadsheet based “calculator" tool. (E.g A mortgate calculator or a home repair quote estimator or medical screening tool or whatever).

Maybe you want to offer it out freely as long as users provide some contact details so you can build up a list of potential customer leads for your other service offerings or maybe you even want monetize this tool and wish to set up a ‘free trial duration’ on the tool before the user has to buy a paid version.

Now all you…

Image for post
Image for post
A 1920-s Ford Automotive Factory ( Aligned to the theme as the example portfolio later are all stocks from the American auto-industry)


In this article, I briefly explain how Modern Portfolio Theory can be used together with Monte Carlo Simulations to estimate the optimum weights for a given portfolio of stocks to achieve the ‘best’ risk-reward trade-off

This is a continuation of my last post where I shared a python web app I developed that allows users to simulate future stock price movements using Geometric Brownian Motion (GBM) or Bootstrap Sampling.

However I left an open question at the end of the last article : How do we know we’ve selected the “best” weights for a given portfolio of stocks ?

Image for post
Image for post
Image Source :


I built a web app using Python Flask that allows you to simulate future stock price movements using a method called Monte Carlo simulations with the choice of two ‘flavours’ : Geometric Brownian Motion (GBM) and Bootstrapped Sampling.

While I may include some programming code below, this article is not going to be a ‘code-along’ tutorial and focuses more on the underlying theory behind GBM and Bootstrap Sampling.

However the native *.*py and a Jupyter Notebook version of the same code is available on this GitHub link below if you want to dig deeper.

Warning ! I am not…


In this post, I provide an introduction to Deep Fakes and briefly walk through of how I made my own ‘Deep Fake’ videos using three different methods :

  • A commercial mobile app called Reface (formerly Doublicat) which is completely no-code and easy to use but has limited options for what it can do
  • A Google Collab page that hosts a First Order Motion Model which allows for a bit more flexibility in choice / length of videos and images
  • Deep Face Lab 2.0, an open source software package for making Deep Fakes that provides more comprehensive customization over the creation…

A Structured Approach To Making A Data Driven Best Guess With XLRisk

Image for post
Image for post
Image Source : Geek Dad

In this installment, I explain how to use Monte Carlo Simulations to build a probabilistic estimate even if you don’t have all the relevant information , have to deal with uncertain variable inputs and are exposed to potential risks using an Excel Add In called XL Risk.


  1. Introduction
  2. Just Give Me The Number Already !
  3. The Problem With Single Point Estimates & Best-Worst Case Scenarios
  4. A Primer On Probability Distributions
  5. Monte Carlo Simulation Tools
  6. Modelling Uncertain Ranges
  7. Modelling Discrete Risk Events
  8. Modelling Dependencies / Correlations Between Uncertain Variables


Fair warning, this article is a bit of a rant and you will probably be rolling your eyes if you are already an experienced DevOps person or familar with Google Cloud App Engine

I will be detailing my journey down the Dev Ops “rabbit hole” and the troubleshooting I went through to deploy a simple Flask Web App online using Google’s App Engine along with any online resources (Stackoverflow posts or other tech blogs) I found useful as a n00b data science enthusiast.

Ultimately I didn’t manage to fix my problem as I ended up deploying NOT ON GOOGLE APP…

Image for post
Image for post

Data, data, everywhere but not a drop of information in sight !

(…With apologies to Coleridge )

Unlike numerical data that you can often boil down into a few summary statistics to distill some insight out of, text data is a bit harder to quickly process.

In a bid to see if Data Science / ML techniques could help me improve my writing , I built a simple Python Flask based web-app that quickly analyzes web-pages for some fast insights based on high level text analysis metrics.

The app returns statistical measures like word counts, sentence counts, etc but…


Optimization techniques like Linear Programming are often still the reliable work-horses behind many decision support systems. Unfortunately they often do not get the attention that they deserve when compared to fancy Machine Learning algorithms. In this article , we look at the basic principles of Linear Programming as applied to the Capital Budgeting Optimization problem and how to optimize Capital Budgeting with PuLP , a Python library for Linear Programming


Image for post
Image for post
Source : Alamy Stock Photos
  1. What Is Capital Budgeting ?
  2. What Is Linear/Integer Programming ?
  3. Optimizing Capital Budgeting For A Project Portfolio In PuLP
  4. Conclusion
  5. Lots More Resources

1 What Is Capital Budgeting ?

Zhijing Eu

Hi ! I’m “Z”. I am big on sci-fi, tech and digital trends.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store