letYourMoneyGrow.com Wishes You Happy New Year

Year 2017 was exciting. Markets grew but were very hard, so even Einstein (although he made 30%) says he failed to beat Mr. Market this year. The big question is how 2018 will be, esp. because the market has not seen a correction for a long time. Neither we know the answer but our goal is not to predict the future but rather to help you analyze what may happen. Understanding your own risks and how the numerous rascals may cheat you is essential in trading and investing because there is generally no profit without risk but there are a lot of (idiosyncratic) risks without profit!
We summarize which such risks we have recognized and will continue doing it in 2018. 
letYourMoneyGrow.com helps retail investor to protect themselves against rascals
Continue reading "letYourMoneyGrow.com Wishes You Happy New Year"

QuantLib for Mere Mortals – Insights from QL User Meeting 2017

We have already used QuantLib at letYourMoneyGrow.com several times, in particular to provide a helpful scenario simulator for option traders. QuantLib User Meeting 2017, in which I also took part, provides insights on how to make QuantLib even more accessible for the "mere mortals".
Continue reading "QuantLib for Mere Mortals – Insights from QL User Meeting 2017"

letYourMoneyGrow.com is one year (and one day) old!

One year ago we launched letYourMoneyGrow.com and we already can report some achievements!
1.  We have created and keep developing our Quantitative Toolbox.  In particular, you will not find suchlike Option Calculator with scenario simulation or mortgage calculator with estimation of the interest rate risk anywhere else.
2. Thanks to Einstein, we disproved the stupid mantra that allegedly "nobody can be better than the market". On the other hand we have shown that many "solid" institutional asset managers and [self-proclaimed] stock market "gurus" cannot beat the market. Thus, only track record matters!
3. We have demonstrated, first of all by the example of IREX, how a quantitative performance analysis can help by investment decisions. At least in case of IREX it was clear that the guy will fail and he recently did!

Our next big goal is to automatize the asset screening as much as possible. Continue reading "letYourMoneyGrow.com is one year (and one day) old!"

Seeking Alpha and finding nonsense – never trust CAPM and linear regression blindly

I show by the example of my portfolio "somewhat better than DUCKS" that CAPM alpha is a very non-robust measure of performance as well as that linear regression on an index should be considered very critically.

Recently, one of my facebook contacts has meant that my portfolio "Somewhat better than DUCKS" repeats the DAX with a beta but without alpha. He even did not make an effort to calculate the linear regression before making this statement. However, even if he did, the results would not be comprehensive.

Continue reading "Seeking Alpha and finding nonsense – never trust CAPM and linear regression blindly"

R-script for Fixer.io – get FX rates in R for 31 currencies

Even if you are not a Forex trader, it is often necessarily to get currency exchange rates, e.g. if you trade [the options on] foreign stocks.  Fixer.io provides daily FX-rates from European Central Bank for 31 currencies via JSON API. We present a script to get data in R.
Continue reading "R-script for Fixer.io – get FX rates in R for 31 currencies"

YaWhore Dance with Yahoo Finance

On 17.04.2017 Yahoo.Finance changed its API, so ichart.finance.yahoo.com is (temporarily?!) unavailable. In particular it means that many R-scripts that rely on quantmod/getSymbols() will not function anymore. We discuss the ways to circumvent the API change of Yahoo.Finance and alternatives to it, esp. Alpha Vantage.
YaWhore_Yahoo_Finance
Continue reading "YaWhore Dance with Yahoo Finance"

Integrating QuantLib with R and Web – Barrier Options Pricer

Some of QuantLib functionality is ported to R in RQuantLib. In particular the pricing of Barrier options. Unfortunately, only European. But we need American in order to price and simulate future scenarios for the so-called KO-Zertifikate (Knock-Out Warrants), which are quite popular among German retail traders. We show how to quickly adopt the code from QuantLib testsuite, compile it under Linux and integrate with R and web.
Continue reading "Integrating QuantLib with R and Web – Barrier Options Pricer"

Grow your money, Trader – the Anthem of letYourMoneyGrow.com

As the risk-free rate is so upset,
Let your money grow
Stock mark’t is tough and turbulent
Let your money grow
So God sayeth “model, Trader,
Your risks by every trade,
Estimate risk-reward and
Let your money grow

Continue reading "Grow your money, Trader – the Anthem of letYourMoneyGrow.com"

My Fund Somewhat better than DUCKS is 1 year old: a festive but fair review

My wikifolio ("Somewhat better than DUCKS", ISIN: DE000LS9HDK3) is investable from 28.10.2016. It surely beats the DAX (main German stock index) both on absolute and risk-adjusted performance. Though I am very proud of my performance, I provide a closer look at it and show that sometimes I had just luck and sometimes I could have done better. I always preach for the rigorous and cold-blooded performance analysis and the best sermon is to demonstrate it by the example of myself.

Continue reading "My Fund Somewhat better than DUCKS is 1 year old: a festive but fair review"

Calling an R-script from PHP: pitfall with loading R-packages

We continue developing letYourMoneyGrow.com and soon will make the first tool from the promised portfolio optimization toolset publicly available. And so far a small technical report. We implement the core business logic in R and wrap-up it with PHP. Calling Rscript from PHP via exec("Rscript ...")  seems to be easy ... as far as you don't use any libraries. And if you do, you will get an error message like Error in library(RMySQL) : there is no package called 'RMySQL'. Fortunately, there is a solution. However, note that a loaded package may depend on other packages. For instance, RMySQL depends on DBI. Thus you should explicitly resolve this dependency in your R-code like this:

library(DBI, lib.loc = c("/home/<yourUsername>/R/x86_64-pc-linux-gnu-library/<yourRVersion>", "/usr/local/lib/R/site-library", "/usr/lib/R/library"))
library(RMySQL, lib.loc = c("/home/<yourUsername>/R/x86_64-pc-linux-gnu-library/<yourRVersion>", "/usr/local/lib/R/site-library", "/usr/lib/R/library"))