Expertise: founded in 2016 by the software developer who built the industry's first "robo" DI+TLH at Wealthfront. Required specialized knowledge (optimization, math, stats, etc.) Complex, so even large firms tend to license, not build.
100% automated, not "almost automated"; can run as "robo" with no human involvement.
Speed of innovation: well-architected, so custom features are easy to build.
Safety: backtester uncovers unexpected scenarios before they affect customers.
Deep feature set.
Extreme attention to detail.
Competitive differentiators: tax alpha strategies beyond DI+TLH; backtester enables personalization in tuning the strategy; plus more.
We do not manage money, or sell directly to advisors / investors; we just license our software (binary or source-available), which our clients can host.
One of our risk models projected onto 3 dimensions (image loop over 1 month),
and its application to a specific investing scenario.
See here for an interactive version of this animation.
Direct Indexing combined with tax-loss harvesting,
including ESG filters and tilts
Tax-efficient portfolio rebalancing, including evaluating the tradeoffs between efficiency and tracking
Tax-efficient portfolio migration with optional tax budgets
Tax-efficient withdrawals and charitable donations
ETF pairs-based tax-loss harvesting (TLH)
Taking a client's entire financial picture (including held away assets) into account
Ability to run backtests of production code for validation, rapid prototyping,
and client demonstrations
Here are some of our advantages. Click on each item to expand.
Rather than investing in an indexed ETF or mutual fund, a client can have the advantages of tax-loss harvesting for every
stock in each index they hold.
Direct Indexing is quickly becoming more attractive,
even for smaller accounts, with the advent of:
fractional share trading
Even if the market as a whole is not moving, individual stocks have a wide range of returns. By holding each stock
individually, there are far more tax-loss harvesting opportunities.
There are multiple goals when choosing a good portfolio for a client, such as:
Proper risk: tracking a target allocation
Tax efficiency: saving money on taxes
Minimizing transaction costs
Minimizing expense ratios or other ongoing fees of investments held
These goals sometimes conflict. For example, a client got a large gift of stock as a child, which is now at a large gain.
Selling that stock would cause him to owe a lot of tax, but not selling will keep the portfolio unbalanced.
Through a unique technology that we have built (details
we are able to find the portfolio that gives the best combination of these goals.
Our technology relies in turn on mathematical programming - which is a well-known technique used widely across different industries -
and on mature third-party software packages that solve those problems.
An advisor typically assigns a target portfolio to a client based on how much risk she can take based on her personal situation.
However, the client may have accounts elsewhere for various reasons:
trying out the new advisor before migrating more assets
having external accounts with currently unsellable stock (for example, restricted stock grants by her employer)
having spousal accounts
having speculative accounts for buying individual securities ('play money')
feeling guilty about firing her previous advisor
... or just not feeling 100% safe with keeping all assets with one advisor
We understand that.
Therefore, it makes little sense to invest her $100,000 in the same proportions as the target;
those proportions are instead meant to apply to her whole financial picture.
For instance, if her external assets include restricted shares in her tech startup,
the $100,000 in cash should be invested relatively less in the tech sector to avoid overexposure to risk.
Our system can invest optimally by incorporating a client's external assets into its investment decisions.
This can be combined with Direct Indexing to provide the benefit of tax-loss harvesting as well as customization.
There are many ways to look at a client's external assets which will not result in a better portfolio:
Display only: just showing all client assets in one place is handy, but will not cause the client to be invested correctly.
Detecting problems: telling a client that their portfolio is imbalanced is useful, but what really matters is what can be done about it.
It is like the difference between a doctor telling a patient that he is sick vs. taking the exact steps necessary to restore his health.
Affecting investment, but in a suboptimal way:
you cannot simply offset $1 of an external stock with $1 of some stock index fund that you'd be holding.
Unfortunately, that does not work, and sometimes it is actually worse than doing nothing.
We instead apply sophisticated techniques that are widely used
by large professional trading firms - such as banks and market makers - to balance their own portfolio risk intelligently
while maximizing returns.
See here our factor model demo for more.
Even if a traditional advisor can incorporate external holdings correctly,
we can invest better because we monitor portfolios continuously.
For example, some days may be better for rebalancing a portfolio than others from a tax savings perspective, depending on market prices.
Computers are much better than humans at scanning prices continuously and making that determination.
Ultimately, this enables advisors to spend less time on portfolio mechanics, and more time on high-touch and high-value work.
We have the ability to tailor a client's investments to their individual situation, such as:
Their external holdings
Federal and state tax brackets
Their risk preferences
Their preference for harvesting tax losses to improve after-tax returns,
versus the hassle of dealing with a large tax return
Exclusion lists (such as employer stock and socially responsible investing)
We have the ability to show exactly how we would invest a client's money, tailored to their individual situation, such as:
Their external holdings, and the way they will change in the future (e.g. if they get a quarterly stock award from their employer).
Their future patterns of additional investment and/or withdrawals
(e.g. if they will be investing $5,000 every month, and $50,000 at annual bonus time).
The fees their advisor charges (e.g. 0.50% charged annually).
Everything else covered in Individualization above.
A client's exact future investing results will depend on market prices, which of course we cannot predict.
However, we can show clients how their account would have been invested, had they opened the account a few years in the past.
Several aspects of their investment behavior will not depend as much on prices. For example:
After-tax returns should be higher than pre-tax returns if tax-loss harvesting is enabled
Their total assets should track the target portfolio better than if we were to ignore their external assets
The account should never have too much cash uninvested, beyond the amount needed to cover account fees
and any possible target cash allocation
This is a corollary of "Preview ability" above.
How does an advisor know whether a certain investing product is good for a particular client? And how can the client (possibly a prospect) be convinced that such a product is valuable?
Advisors may sometimes publish white papers that describe the average improvement over a few scenarios (or possibly just one).
For example, they may describe what happens when a client deposits $200,000 upfront & $5,000 every month,
and is in a particular federal and state tax bracket. However, there is no well-defined average client situation, so results may vary a lot by client.
What if you could tell your clients what their benefit would be?
Clients who benefit much less than average may not need the product,
and are thus spared the frustration of a suboptimal product recommendation.
Clients who benefit much more than average are more likely to sign up.
The preview ability displays the benefit customized to a client, and helps make a much more convincing argument.
The founders have previously worked in the biggest trading system in the US,
and have spent most of their professional lives building highly reliable, mission-critical enterprise systems.
As a result, the system is engineered well. Here are some examples:
Automated risk model checks: we have built a small language
to help us assert (almost in plain English) that e.g. the stocks that we think are similar on day 1 do not show as dissimilar on day 2,
and that e.g. stocks within a sector are more similar to each other than all US stocks are to each other.
This prevents trading errors. We have added hundreds of such checks using that language.
Automated tests: 160,000 lines of test code (in 4,200 tests) as of this writing.
Hundreds of automated simulations help us verify our logic in real-world scenarios:
e.g. confirm that after-tax returns go up when we turn on tax-loss harvesting.
Charts and diagnostic files are generated to aid the investment research process.
Simulation and production code are the same: this may sound obvious but is rarely the case
for practical reasons. This makes it easy to find problems during new investing product development,
instead of discovering after rollout. This eliminates a bottleneck to launching new investment products.
There are also some "softer" reasons why our system was able to be built solidly:
Luxury of time:
We have spent over 2 years without any short-term pressures (such as artificial deadlines or impatient investors),
or anything that is a diversion from building a rock-solid product. Any time we saw something in the system that
could be improved, we were able to spend the time to rework it. This attention to detail has a compounding effect.
Clean architecture: instead of adding fixes onto an initial version that was built to do something simpler,
we designed the system from the beginning with an eye towards the sophisticated products we wanted to build.
The system is written in Java, and has almost no dependencies
(database, broker connections, market data feeds, etc.), which makes integration easier.
The inputs are:
Client assets, with cost basis when available
Various client-specific settings (e.g. tax brackets) and preferences
The output in the production system is a set of orders. Note: in simulation, we additionally generate a rich set of metrics and graphs.
The only external dependencies are for historical data (prices, cash dividends, splits, etc.), for which we use an established third-party provider.
We architected our system from the start for one purpose only: to enable fast rollout of sophisticated investment products.
For example, the system allows the investing research team to run parallel simulations of investment algorithms and subsequently generate:
a rich set of metrics, such as various flavors of tracking error, after-tax returns, etc.
"gradients", i.e. information about what happens when we vary one of the parameters while we keep the rest constant.
This can help researchers e.g. tweak the behavior of tax loss harvesting algorithms so as to increase after-tax returns.
Here are some products on our roadmap. While they have not been created yet, our system was specifically architected to make it much easier to build them.
Even higher after-tax returns with single-stock-based tax loss harvesting that does not rely on index replication,
and can therefore cover the entire portfolio.
Incorporating illiquid assets - in particular, real estate
Automatically generated summaries of investing simulations to help build new investment products; see demos