Backtesting is an important part of any strategy. An essential part of most strategies is having a Stop Loss and a Take Profit. In Python, there are a myriad of backtesting options available to you that allow for this but sometimes simple is better. Today, we’re going to look at how one can implement a Stop Loss and Take Profit using pandas
before then using bt to run the full backtest.
bt is a “flexible backtesting” framework for Python that is modular. What this means is that bt has a number of algorithms that are pre-built that one can literally “plug-and-play” with to get different backtesting outcomes. One of the core algo modules in bt is the weighTarget
algo. This algo essentially rebalances a portfolio again and again in order to match the weight given to a particular stock position. For instance, this is a table of weights below. When the target weight (TW) is 0.33, the algo will invest 0.33 of available cash into the position, -0.33 will make it go short, and 0 will cause it to exit the position. …
Happy New Year to everyone! Given the start of the New Year (and the beginning of my preparation for my Finals), I thought it would be apt to start a mini-series on… Demography! With all the confusion that’s been going on in the world in the last year, maybe it would be good to try to understand people better. Which, Demography (defined as “the study of human populations in relation to the changes brought about by the interplay of births, deaths, and migration” (Pressat, 1985)) prompt fulfills. This will likely be a 4 part series, looking at 2 demographic measures per part. Each part will look at the theoretical concepts behind the measure and then explore using Python to easily calculate it. …
A few days ago, I was asked to help someone collate results from an online survey. The problem was, the online survey had been done in two parts, each with its own Google Form. The request was to perform a simple linear regression model with the response variable recorded in one of the Google Forms, and the explanatory variables recorded in the other Google Form. However, there was no unique identifier for each survey participant and the only thing that they had been told to input were their names. This was going to be fun! …
One of the most popular ways to value a company is using a model known as the Discounted Cash Flow Model. This model attempts to find the intrinsic value of a company by projecting its future cash flows and then discounting it. This is typically done using an excel spreadsheet and is relatively simple (just requiring a little bit of math and some manual work to find the financial information of a company). In this article, we’re going to explore how we can easily automate this in Python (both the calculation as well as the pulling of financial data!), …
I learnt about tidytext awhile ago and thought it was such a neat framework. The essential idea behind it was that you could perform text mining/sentiment analysis using dplyr
and "tidy" dataframes. So, I just had to try it out! I looked around for awhile to find things to perform this exploration on and finally settled on Singapore Prime Minister Lee's Covid-19 related speeches - thought it might be fun to see how that changed over time. As always, a tl;dr to get things going.
( a side note here: this was a rather basic and easy introduction to tidytext but it really is a much more powerful package and a lot more (which I plan to write on when I have more time) can be done with…
Ever wanted to create a Telegram bot that would allow you to share your photos with the rest of the world? Not really? Well, after you’re done with this article, you’ll probably think differently. And if not… well, you’re just wrong.
In this article, we will look at using the Reply Keyboard
in Telegram (pictured below) to create our very own bot that sends photos to users based on categories. …
A couple of days ago, one of my friends mentioned that it would be interesting to do a visualization of our group chat — to see things like who spoke the most, who spoke after who the most, and what were the words most commonly used. In this article, I show you how I did that using pandas
, json
, and plotly
.
The group that we were in is hosted on telegram and the data was easy to pull. As shown, you just had to use Telegram Desktop to export the files. You have the option of either exporting as a .html or .json but I would 100% recommend .json …
Many articles have been written on the ‘true’ cost of owning a car in Singapore (Here, here, and here). And these articles have done well in laying out roughly how much one should expect to pay for a car. But one aspect that these articles have not covered is the opportunity costs of owning a car.
As financially responsible people, we all know that we should (a) Save and (b) Invest the savings. So when we buy a car, this ability to save and invest seemingly goes down the drain… or does it? In this article, I want to show you (with the help of this nifty tool) that this does not always have to be the case. …
A while ago, I was intrigued by the IBD 50 - a list of the top 50 stocks that have been screened by the CAN SLIM method and distributed by Investors’ Business Daily (IBD).
You would typically have to subscribe to the IBD in order to get access to the list but in 2015, innovator ETFs released an ETF (ticker: FFTY) that tracked the IBD50! And since the holdings of the ETF are available publicly, we can just extract the holdings of FFTY in order to know each week what holdings are recommended by the CAN SLIM method.
However, as I tried to extract the holdings data from zacks.com, I faced an issue in Selenium. And in this article, I describe the quick fix! …
What happens if you always invest just before a market drop?
I read an article recently about why a regular investment plan far outweighs trying to time the market. While that definitely made sense, I also wondered what happened if one were to constantly invest just before the market collapse. What if one was the worst investor in the world? There have been a few articles on this before but they gave rather skimpy details and I was curious to see it on my own and visualize it. Furthermore, I also wanted to explore if dollar-cost-averaging (DCA) (monthly) or DCA (yearly) would be more profitable. …
About