HN user

valkmit

71 karma
Posts2
Comments23
View on HN

There are plenty of known effects that are relatively simple to automate

Holding overnight risk yields superior risk-adjusted returns. Buying end of month and dumping few days into new month. There are dozens of such effects

These have mechanical reasons for their outperformance - overnight risk has to do with how borrow interest rates for equity markets are calculated and firms unwilling to hold unhedged exposure overnight. Longing EOM has to do with people getting their paycheck EOM and auto buying index funds, and so on and so forth.

Systematic trading isn't magical, it's identifying these kinds of (often simple) effects and building a portfolio of them.

As an individual investor you actually have a huge advantage over large institutions in that your portfolio is nimble and easy to get out of.

As a relatively simple exercise - consider a hypothetical portfolio that's simply long SPY for the year. Could you identify _one_ day in which you'd rather be flat? The answer is probably yes, and the reason you can do this (and not a billion $ AUM fund) is that rotating in and out of positions is cheap for you.

When news about Iran hits the tape, who do you think can exit their positions faster? Joe Schmoe with $30k in his brokerage account, or Citadel with a $100bn position?

A lot of these are mostly well-meaning but have backfired. The only way an international business is going to consider investing in French workers, for example, is with relatively low salaries to offset the inability to fire them.

It's counterintuitive but if you allow "failing fast", you lower risk of new engagements, and this allows for more speculative bets on ideas and people.

Make it difficult to evict tenants? Expect more stringent requirements from landlords

Enact rent control? Initial rents are going up, new builds are are disincentivized.

Strong worker protection? Expect fewer highly paid roles (wage compression)

I'm not saying these regulations are unilaterally bad - I'm saying don't be surprised that there are 2nd-order effects that are arguably just as bad, if not worse.

Insider trading in stocks are prohibited but not for the reason most people think. It has nothing to do with someone having an unfair advantage in an informational sense, and everything to do with fiduciary responsibility.

The CEO and executive team has fiduciary responsibility to act in the financial best interest of the shareholders. Your broker too.

If you have insider info (Obtained legally) but no fiduciary responsibility you can act on it. That’s why congress members trading US equities based on decisions they’re privy to is not, from a legal perspective, insider trading. They don’t have a fiduciary responsibility to their constituents

When you are negotiating payment for any good and service, you care only what the end cost is to you.

It doesn't matter how you decide to slice it - "this share you pay, this share I pay" at the end of the day it will be seen through the lens of Total Cost of Ownership.

I'd argue that it doesn't happen more because it's (relatively) easy to bring labor onshore.

But yes, if that path doesn't exist, I don't think that global companies are going to start hiring American, they're going to continue hiring globally but take the path of least resistance towards bringing this talent onboard.

This seems virtually impossible to enforce. It's trivial to restructure hiring a developer to write software, as licensing software from a foreign development firm, or any number of other workarounds.

This is not just a hypothetical, this is something that already happens when companies are looking to optimize their tax burden. Corporate structuring and income shifting are big businesses in their own right and serve to find the minimum amount of changes required to be able to legally reclassify income.

In the case of this bill specifically, in the unlikely even it passes, a simple corporate inversion will solve this problem. Instead of the US company owning foreign subsidiaries, the structure is inverted: the parent company becomes foreign, which will own a domestic US corporation. When the multinational wants to hire or retain offshore talent, it simply pays out from the parent company. Again these aren't hypotheticals, these are real tax avoidance strategies that are already in place and are well-trodden paths.

You can come up with an infinite amount of regulation to try to halt this (this problem is also called tax base erosion) but it ends up doing more harm than good - eventually you end up with a tax code and regulatory environment so complex that that alone disincentivizes new investment.

The goal is not just to retain existing capital and talent by forcing them to be locked in - it's to compete for the next dollar, the next startup, the next factory - new investment will follow the path of least resistance, while older companies eventually close up shop due to one reason or another.

If your worldview is one of "We already have the best capital and talent, so we don't need to bother to compete to acquire new capital and talent", the world you live in will stagnate and wither with respect to societies that will bend over backwards for this.

The assumption that companies won't offshore is doing a lot of heavy lifting.

Companies already do a lot of offshoring - you think any rational actor in this space that was hiring H1Bs isn't going to simply relocate them to more friendly jurisdictions for immigration?

On top of this, these are workers who would have otherwise paid tax in the US!

How valid is this premise in an increasingly global world?

Most of the companies that are paying salaries could (and already do!) have offices in other jurisdictions where they could hire the same talent.

Better to bring this talent onshore, where the wages are taxed, than force these companies to hire from satellite offices?

It doesn't make much financial sense for companies to stop sourcing talent globally just because they can't be brought onshore, especially given enough time.

Purely anecdotal, but for me personally this wouldn't change who or how I hire, just the location.

Faster transaction times result in tighter spreads, as HFT firms compete each other on the price-time priority queue. HFT firms compete against each other on time, and while yes, that's a zero sum game, the end-result to the broader market is useful.

An analogy might be something like Uber and Lyft competing with each other for clients and drivers. From the perspective of everyone else, it doesn't matter much if they ride Uber or they ride Lyft. But the adversarial games that they play against each other [Uber and Lyft] are beneficial to both riders and drivers. Perhaps a duopoly isn't the best example, so you may extrapolate this to any industry where there's a sufficient amount of participants to keep things competitive.

It's kind of an open secret, but retail traders hopping onto meme stocks like DPZ and TSLA is, counterintuitively to an outsider, actually very profitable for HFTs and market makers.

A good example might be - imagine you are a car dealership, so serving as a rough approximation of a market maker. What kind of entities do you want to trade against? Other car dealerships (informed counterparties), or your average suburban minivan owner (uninformed counterparties)?

It's immediately obvious - the rationale is that when you trade against uninformed order flow, your measure of adverse selection is far lower than if you trade against informed order flow. Your average suburban minivan owner is going to be more time-sensitive and price-insensitive than another car dealership who is willing to look high and low for better deals.

Adverse selection, in this context, is that of the orders you're offering to the market, only the subset which have the greatest likelihood of immediately losing you money are selected. From the perspective of your counterparty, they will only lift your offer if they think it will make them an immediate unrealized profit. Keeping track of your adverse selection is an extremely important part of HFT - in fact, HFTers will try to identify informed vs uninformed order flow and only try to trade against the latter, to reduce immediate unrealized losses due to adverse selection.

This is why PFOF (payment for order flow) exists. It's because companies like Virtu think that traders on RobinHood have no clue what they're doing, and they [Virtu] can come in and eat all the alpha. Virtu doesn't frontrun RH orderflow - instead, they get what's called "first look" at the flow. They get to decide to either immediately fill the offer, or let it hit the real market. From the perspective of a RH user, this is really no harm, because whether Virtu trades against you, or your offer gets lifted against the broader market, doesn't really matter to you.

This looks to be a really cool project. A lot of existing profilers all seem to have different sets of limitations. The last cool profiler I looked at was Google orbit, but it's probably tangential to this project given the breadth of different application times they purport to support.

This is question probably has a very nuanced answer, but here goes anyway - broadly, what kind of performance impact can we expect when running this in an always-online manner?

Cool stuff! Do you have a public branch you're working off of? I'd love to follow the progress as I wasn't aware that qemu user emulation for BSD was even a thing.

I didn't get a chance to peruse beyond briefly skimming the source on GH, but I couldn't find any special handling around execve - could you point me in the right direction?

I was looking at bsd-user/syscall.c, whose equivalent in linux-user is where my repo's execve hook lives, if that makes any difference.

Hey, thanks for the insight - I didn’t realize this was a thing for some Nokia envs already - pretty cool!

re: x86 make and shell, it probably won’t work well here because once a process tree goes to x86 land, qemu cannot see it and it can’t “natively” run an arm binary.

Essentially we can only hook execve when emulating - when we run a native binary we no longer have any insight into any execve call it may make. (Though with some additional work I suppose one could also use LD_PRELOAD to hook execve)

This is why binfmt_misc and registering the interpreter with the kernel would be superior, if not for kernel level access requirement