January 2025: Portfolio up 3.37% (even while trading from Taiwan)

Table of Contents
The plan was simple — enjoy Taiwan with my partner Chenny, eat copious amounts of sushi, drink an unhealthy amount of bubble tea, and start my $25K trading challenge where I attempt to outperform the S&P 500 when we got back in March.
Then DeepSeek dropped their new LLM, the market lost its collective minds thinking the United States had lost the AI arms raise to China (spoiler alert: I sense that we lost that battle well before DeekSeek released, but that’s a separate story), and suddenly technology and technology-adjacent stocks were on sale faster than GPUs after a crypto crash.
Some opportunities are too good to pass up, even if that means trading at 5AM local time (more on that adventure later).
Performance: Up 3.37% YTD versus S&P 500 2.94% #
I’ll start with what you likely came here for — how did I do against the S&P 500?
- S&P 500 YTD Return: 2.94%
- PythonFinTech YTD Return: 3.37%
- Outperformance: 0.43%
Trades: CLS, TT, and RSI #
I opened three primary positions this month:
- Celestica Inc. (CLS) — This trade made worth getting up at ungodly hours worth it.
- Trane Technologies (TT) — A lesson in “don’t attempt to catch a falling knife”
- Rush Street Interactive (RSI) — Been eyeing this one for weeks and finally found an entry
CLS gave me an early win, up 1.5R in under 24 hours #
I’ve already done a deep dive on my CLS trade, but here’s the TL;DR:
- Opened position after DeepSeek-caused dip
- Stock gapped up on earnings
- Locked in 1.5R profit within 24 hours
- Sold 50% and moved stop to break-even, guaranteeing a profit (the rest of the position was then sold in the first few days of February)
Could I have held the trade for longer?
Absolutely.
And if I had been back in Toronto, I likely would have — I’m a firm believer in riding your winners.
However, it was important for me to lock in an early win in this challenge and develop some positive momentum.
Furthermore, when you’re trading from your Taiwan AirBnB, 13 hours ahead of the stock exchange in New York, sometimes you just need to take the win that’s in front of you and trust yourself that you’ll hit bigger positions later in the year.
One regret (TT) and one “we’ll see” (RSI) #
I’ll do two separate deep dives on each of these trades in the next week or so, but here are my quick thoughts:
- Trane Technologies (TT): Looked oversold, strong earnings, great fundamentals…but I made the crucial mistake of attempting to buy while it was in “too oversold” of a state. As my mentor once told me, “Never try to catch a falling knife.”
- Rush Street Interactive (RSI): This one is playing out more-or-less as I expected. Strong growth, solid fundamentals, and potential for a big move around next earnings. If another entry point presents itself I’ll consider adding to my position.
Honestly, I’m still beating myself up over that TT trade…I know better than trying to time the dip.
Challenges of trading from Taiwan #
Taiwan has been absolutely amazing.
I love it here.
However, trading from Taiwan has been…interesting.
The US market opens at 9:30PM local time and closes at 5AM the next day. This has led to some challenges:
- Sleep schedule: Do I wake up at 4AM, check the markets before placing any trades? Then what? Do I go back to sleep after the market closes at 5AM, or do I just start my day then?
- Decision making: While I’m a morning person, I wouldn’t say that I make my best decisions at 4-5AM.
- FOMO management: This has been the hardest to manage. Ultimately, I’ve decided that if I don’t feel like trading when I go to bed that I won’t set an alarm — there will be other opportunities.
Looking ahead to February #
I’ll be in Taiwan until end of February, which means:
- Limited trading: Unless something look absolutely f@cking incredible, I’m going to focus on managing existing positions (which, at this point, is just RSI).
- Building infrastructure: When I’m not exploring Taiwan with Chenny, and the itch to build/create something inevitability rises, I’m going to work on coding up better tracking metrics (average gain/loss, win ratios, etc.).
- Content planning: Figuring out the right cadence of trade breakdowns and updates.
Speaking of content — I’m still working on exactly what that looks like.
Daily updates feel a bit excessive right now, but maybe that’s something for a future premium community?
If that sounds interesting to you, send me an email or leave a note in the comments section below.
First month reflections #
One month in (well, more like three days), and here’s what I’ve learned:
- Time zones are evil. Trading US markets from Asia is possible, but it requires either supernatural discipline or a concerning amount of caffeine.
- Small wins are better than no wins. That 0.43% outperformance may not sound sexy, but it’s a start.
- Reflecting on trades is helpful. Taking the time to write about my trades has forced me to think through my process in a way that just trading doesn’t.
- Let your winners ride. At one point, CLS was up ~7.6R. Let that ride. Take a partial exit, guarantee profit, and then put yourself in a position where you can ride the trend upward.
Follow along #
Want to follow along as I attempt to beat the S&P 500? (Hopefully by more than 0.43% next month)
👉 Join my email list and watch me try to turn Python code into profit while fighting jet lag.
Disclaimer: This is my trading journal, not your personal investment guide. Think of it like watching someone's cooking show — just because I'm making pad thai doesn't mean you should too (especially if you're allergic to peanuts). Sometimes I hold positions in the stocks I write about (shocking, I know). But that doesn't mean you should copy my trades and YOLO your life savings. Do your own research, consult actual professionals, and never trade more than you can afford to lose.