2026-10-30

Mercury's "analemma" over $79$ and $46$ years

Mercury stays close to the Sun, moves fast relative to its own idealized mean version, and takes $79$ years to make an approximately closed "analemma"; the next best being $46$ years but with $3\times$ more error. Refer to this table for the source of these numbers.

This basically means that the "analemma" curve is going to be so densely packed as to almost make it look like a sheet.

Mercury's "analemma" over $79$ years

Mercury's "analemma" over $46$ years

Even over $46$ years, the trace is quite dense.

Similar to my Mars "analemma", due to the number of tracking shots involved, I decided to forgo saving the screenshots (and thus gave up the option of making a movie). Instead, only Mercury's position was captured every $3$ solar days starting $2026$-Jul-$13$ $11$:$59$:$44$ UTC. Only one screenshot (of the starting position) was captured to serve as the base image to overlay the "analemma" trace on. The line width of the trace was reduced from $3$ (used earlier for other planets) to $1$.

Mars' "analemma" over $79$ years

After previous posts on "analemmas" for Jupiter ,  Venus ,  Saturn , and Jupiter (again) this is the "analemma" for Mars tracked over $79$ years. Refer to this table that motivates the chosen duration.

I captured data every $7$ mean meridian transit periods (i.e., $6.99103561122795$ days). As $79$ years is a rather long interval, I decided to forgo saving the screenshots (and thus gave up the option of making a movie). Instead, I contented myself with only capturing the $(x,y)$ pixel coordinates in Stellarium. I captured one screenshot of the starting position to serve as the base image to overlay the "analemma" track on.

Mars' "analemma" over $79$ years

2026-10-26

Jupiter's "analemma" over $83$ years

I previously made a post on Jupiter's "analemma" over $12$ years.

Jupiter's orbital period being $11.86$ years, it does not align nicely with the $12$ year duration chosen in that post. That makes the "analemma" only very approximate. For a more perfect "analemma", a duration of $83$ years is needed (see the table in this post). $83$ years equals $7$ Jovian orbits with an error of only $13.027483$ days or $0.301\%$ of the Jovian year.

Tracing Jupiter's "analemma" over $83$ years yields the following path which is definitely more Lissajous and has a better symmetry.

Jupiter's "analemma" over $83$ years

Planetary orbital period multiples that align to Earth years

Assuming that one Earth orbit takes $365.242199$ days, the following table notes the durations at which the other planetary orbital periods come close to a multiple of Earth's. The associated error, as a percentage of the planet's orbital period, is noted as well.

Planet Orbital Period Multiple Number of days Earth years Error (day) Error (%)
Mercury 87.9691 328 28,853.8648 79 0.268921 0.306
Mercury 87.9691 191 16,802.0981 46 0.956946 1.088
Venus 224.701 13 2,921.113 8 0.824592 0.367
Mars 686.98 42 28,853.16 79 0.973721 0.142
Mars 686.98 25 17,174.50 47 8.116647 1.181
Mars 686.98 17 11,678.66 32 9.090368 1.323
Mars 686.98 8 5,495.84 15 17.207015 2.505
Jupiter 4,332.59 29 125,645.11 344 1.793544 0.041
Jupiter 4,332.59 22 95,316.98 261 11.233939 0.259
Jupiter 4,332.59 7 30,328.13 83 13.027483 0.301
Saturn 10,755.70 29 311,915.3 854 1.537946 0.014
Saturn 10,755.70 9 96,801.3 265 12.117265 0.113
Saturn 10,755.70 2 21,511.4 59 37.889741 0.352

This is closely related to how long a planetary "analemma" takes to form an approximately closed curve. The "Error (%)" column indicates how close it comes to making a true closed curve. This assumes that the orbital elements of the planet are constant over the period in question which we all know is not true.

The above numbers were what I relied on when tracing the analemma curves in previous blog posts. For instance, I chose the $59$ year interval for Saturn (here) as other options ($265$ or $854$ years) were too long. My choice of $12$ years for Jupiter (here) was an early approximation, and I need to regenerate the trace again over an $83$ year interval instead.

Saturn's "analemma" over $59$ years

After the posts on Jupiter's "analemma" over $12$ years and Venus' "analemma" over $8$ years, I did the same for Saturn which has an orbital period of $10755.7$ days ($\approx 29.45$ years). Thus, $265$ Earth years equals $9$ Saturnian years with an error of $12.12$ Earth days. This is too long a duration over which to trace an analemma. The next best match is $59$ Earth years which equals $2$ Saturnian years with an error of $37.89$ Earth days. I picked this option as it would have been impractical to trace Saturn over $265$ Earth years. Over that interval, the analemma trace would likely become impossible to follow.

Please manually select the High-Defintion (1080p) quality if YouTube serves up a lower quality version.

With the $(x,y)$ coordinates in the screenshots known already from Stellarium, I used the same script I had earlier used for Jupiter and Venus to trace out the "analemma" curve for Saturn and overlay it on the first image.
Saturn's "analemma" over $59$ years

Epilogue

2026-10-25

Venus' "analemma" over $8$ years

After the post on Jupiter's "analemma" over $12$ years, I wanted to do the same for Venus, an inner planet. Venus' orbital period of $224.701$ days makes it so that $13$ orbits of Venus are approximately equal to $8$ Earth years (with the error being less than a day). This means that roughly every $8$ years Venus comes back to the same approximate position in the sky - good enough to consider it a closed curve as far as its "analemma" is concerned.

Since Venus is an inner planet, its mean meridian transit period is effectively a mean solar day. I took Stellarium screenshots with a gap of $6$ days spanning the required $8$ years. This was then rendered into a movie that I've uploaded to YouTube (see below).

A bonus is that the Sun's analemma can also be seen in the video as the Sun traces out the figure-8 curve near the central meridian.

Please manually select the High-Defintion (1080p) quality if YouTube serves up a lower quality version.


With the $(x,y)$ coordinates in the screenshots known already from Stellarium, I used the same script I had used earlier for Jupiter to trace out the "analemma" curve for Venus and overlay it on the first image. The resulting Lissajous curve and quite complex and beautiful. (Caveat: This curve was generated from a fresh set of screenshots so they won't line up with the frames in the video.)

Venus' "analemma" over $8$ years

Epilogue

2026-10-24

Jupiter's "analemma" over $12$ years

Introduction

In Oct-2026, a discussion on Reddit spurred me to think about what it would mean for a planet to have an Analemma. I shared my thoughts on 20-Oct-2026. The relevant portion of that response is reproduced verbatim below.

...

For a planetary analemma (if one can call it that), things are a little complicated. You need to capture the direction vector to the planet at a period that equals the mean duration between two successive transits across the meridian by the planet. ... 

For the outer planets (Mars onwards), to a first approximation, you can imagine that the planet is going around the Earth in an approximately elliptical orbit. This would give you a very similar analemma curve as the Sun or Moon - except that it will only be a piece of the curve and will not be a closed loop as the planet will NOT return to its original position at the end of a year. Further, there will be a retrograde loop superimposed on this main curve. How this would look like would depend on the relative positions of the planet and the Earth in their orbits.

(The inner planets are going to be even more complicated.)

But, in theory, you could take a tool like Stellarium and take screenshots periodically (i.e., at a period that matches the mean duration between two successive meridian transits for the planet you're interested in). Then overlay all those screenshots on top of each other so that the meridian is aligned in all the shots. ...

...

I eventually followed up on my thought process above by taking screenshots on Stellarium periodically (at $7\times$ the mean meridian transit period for Jupiter) covering a span of $12$ years as that subsumes Jupiter's orbital period of $11.86$ years. The screenshot sequence was then converted into a movie. I shared the movie on 22-Oct-2026.

The rest of this post details the mechanics of how I did it.

2026-08-26

LTCG harvesting in a non-zero LTCG tax bracket

Introduction

In the context of US tax law, does it ever make sense to harvest long term capital gains (LTCG) when one's income puts one into the $15\%$ LTCG tax bracket? Perhaps there is value to be gained by paying LTCG taxes now and increasing the basis so that one pays lower LTCG taxes in the future. Is that opportunity cost worth it?

This post investigates the conditions for LTCG harvesting to yield a net benefit in after-tax spendable wealth under a simplified model. It is found that LTCG harvesting has a clear long-term advantage when done in the $0\%$ LTCG tax bracket, whereas harvesting in a positive LTCG tax bracket can provide an advantage only over a finite investment horizon assuming future LTCG tax rates are sufficiently higher. The longer the post-harvest investing duration, the greater the erosion in the advantage. Eventually, once the post-harvest investing duration crosses a break-even horizon, any advantage due to LTCG harvesting (done in a positive LTCG tax bracket) is completely lost.

2026-08-22

Analysis of Break-Even Tax Rate for Roth Conversions

Introduction

A common rule of thumb is that a Roth conversion is attractive when the expected tax rate in retirement is higher than the tax rate paid on the Roth conversion. This rule is directionally correct. But it is also a weak condition. As will be seen below, the expected tax rate in retirement can afford be lower if the tax on the conversion is paid from a taxable account. (This effectively redirects assets from an inefficient taxable account into a tax efficient Roth account.)

This post derives, under a simplified set of assumptions, the required tax rate in retirement that makes the Roth conversion beneficial for an after-tax retirement spending scenario. (Vanguard has termed this the Break-Even Tax Rate or BETR.) Below this rate, the modeled Roth conversion produces less after-tax spendable wealth compared to leaving the money in the Traditional IRA.

The comparison is between the following two strategies:

  • Default strategy: No Roth conversion. No conversion tax to pay. Hence, no withdrawals from any taxable account to pay conversion tax.
  • Roth conversion strategy: An amount $P_0$ is converted from the Traditional IRA (T-IRA) to Roth IRA (R-IRA). Separately, an amount $W_0$ is consumed from a taxable account to pay conversion tax.

Both comparisons are designed to start with the same total wealth ($P_0$ in the T-IRA, $W_0$ in the taxable account). The growth of $W_0$ within the taxable account in the default strategy represents the opportunity cost of paying the conversion tax.

2026-08-09

Redirecting Taxable investments to Roth 401(k) - An Improved Analysis

This is a follow-up to Redirecting Taxable investments to Roth 401(k). The analysis is conducted in terms of capital appreciation and dividend yield rates. It also incorporates the additional basis created in a taxable account by dividend reinvestment.

2026-07-30

Redirecting Taxable investments to Roth 401(k)

Preface

This article is for those in the USA who

  • have access to after-tax 401(k) contributions with immediate in-plan conversion to Roth 401(k), aka, Mega Back Door Roth (MBDR), and
  • have a taxable brokerage account with sufficient assets that can be leveraged to facilitate the MBDR.

Introduction

Usually, people focussed on saving and investing set their retirement contributions so that their net pay covers living expenses. Assuming one is already maxing out contributions to tax-advantaged retirement accounts and has accumulated a nontrivial amount of investments in a taxable brokerage, the question naturally arises:

Does it make financial sense to take advantage of the MBDR even if it means that one has to draw down on the taxable brokerage to fund living expenses?

2026-01-31

Comparing mortgages for buying or refinancing a house

Questions that come up in scenarios related to buying or refinancing a home:

  1. Is mortgage A better than mortgage B?
    • Each mortgage may be amortized over a different duration (e.g., $15$ vs. $30$ years)
  2. Given that I'm part-way through mortgage C, should I refinance to mortgage D?
Setting aside the emotional aspects, there is almost always a clear answer based on the Net Present Value ($NPV$) calculation of the cashflows related to the principal, interest, and loan fees. For a fixed-rate mortgage with no taxes or unusual features:$$\begin{align*}NPV &= F + P_0 + \sum_{k=1}^N \frac{PMT_k}{(1+d)^k}\\&=F + P_0 + PMT\left[\frac{1-(1+d)^{-N}}{d}\right]\;\text{for a fixed-rate loan}\end{align*}$$where
  • $F$ is the amount in fees paid to acquire the loan
  • $P_0$ is the initial cash outflow ("downpayment"), if any, outside of fees
  • $N$ is the total number of payment periods
    • For a $30$ year mortgage with monthly payments, $N = 30 \times 12 = 360$
  • $PMT_k$ is the payment due at the end of the $k^\text{th}$ period
    • The $PMT$ is a constant for a fixed-rate mortgage
  • $d$ is the chosen discount rate per period
The $NPV$ formula, as specified above, assumes that the first payment will be due at the end of the first period immediately following the loan origination.

I've made available a Mortgage Comparison Template.ods file that implements the calculations referred to in this post.