# Problems I Solve

> A working catalog of the problems investment managers hire me to solve.
> Drawn from three decades of buy-side and sell-side work and six production
> platforms. Each entry is specific, production-grade, and something I have
> built before or would build again tomorrow. Organized by the eleven
> disciplines that comprise a modern investment-management technology stack.

**Scope.** Hedge funds, RIAs, family offices, multi-strategy shops, boutique
asset managers, emerging managers. Equity, options, futures, FX, cash fixed
income, securitized credit, credit derivatives, interest-rate derivatives,
inflation, TRS, repo, and crypto. Specialist in credit and structured
derivatives.

**Format.** Each entry states the problem as a PM, COO, or CCO would phrase
it, names the failure mode that makes it hard, and describes the solution
at the level of detail that determines whether it actually works in
production. Contact: sms@gyreresearch.com.

---

## Data

### 1. The security master nobody trusts

**Problem.** Vendor A's ISIN-to-CUSIP mapping disagrees with Vendor B's.
Sector classifications drift. Corporate-action sequences arrive out of
order, get replayed, and leave the book in a state the custodian does not
recognize. Every quarter ends with a Friday-night fire drill reconciling
the security master against the PB before the fund admin closes.

**Solution.** A bi-temporal security master with every attribute
(identifier, classification, terms, issuer hierarchy) versioned on both
transaction-time and valid-time axes. Upstream feeds (Bloomberg, Refinitiv,
S&P/IHS, MarkIt, FactSet) reconcile via a deterministic priority matrix
per attribute class, with a continuous anomaly detector that flags
attribute flips (e.g., sector changed twice in a week) for human review.
Every downstream consumer reads a stable as-of view; back-populating a
correction becomes a one-row write, not a weekend.

**Payoff.** Position and P&L reports stop disagreeing across systems.
Corporate-action breaks drop to near zero.

---

### 2. Point-in-time price history that survives audit

**Problem.** Run a backtest today; run the same backtest next month; get
different results — because the vendor silently overwrote a price three
years ago when the issuer restated earnings. Compliance can't reproduce
the trade decision that led to a client complaint because the underlying
data has moved.

**Solution.** A price store that is append-only on the transaction-time
axis. Every mark is stored with its observation timestamp, source, and
revision chain. Backtests and attribution reports declare an as-of
timestamp; two runs with the same as-of produce bitwise-identical results.
Revisions are preserved but never overwrite the historical record a
decision was made against.

**Payoff.** Auditor reproducibility. Regulators' favorite question becomes
trivial.

---

### 3. Benchmark constituents that match the benchmark provider

**Problem.** The prospectus benchmark is "S&P 500." The client's statement
shows tracking error the PM can't explain. The discrepancy turns out to
be the benchmark provider's special-dividend methodology, their
return-to-baseline convention, and a corporate-action timing offset. The
PM has been measured against a benchmark they're not actually computing.

**Solution.** Benchmark constituency and returns loaded daily, not
month-end, with the provider's own methodology encoded (special dividends,
divisor adjustments, return-to-baseline on index events). Validated nightly
against the provider's published composite return; any drift >1bp triggers
an alert.

**Payoff.** Tracking error becomes a measure of portfolio decisions, not
benchmark mismodelling.

---

### 4. Corporate actions that don't corrupt cost basis

**Problem.** Splits, spins with cash-and-stock consideration, Dutch
tenders, rights offerings, CVRs with contingent payouts, reverse mergers
with multi-step treatment. Each has its own accounting and tax logic.
Most OMS and accounting systems get three right and four wrong; the wrong
ones show up six months later as a restated NAV.

**Solution.** An event-driven corporate-action engine that expresses each
action as a structured term sheet (declaration date, ex-date, record date,
pay date, consideration mix, proration logic, elective window) and applies
it deterministically to every affected position. Cash-and-stock spins
generate two lot rows with cost-basis allocation per IRS §358. Rights
offerings split basis under §307. CVRs remain as a tracked contingent
receivable until the trigger event.

**Payoff.** Cost basis reconciles to the PB the morning after the event.

---

## Portfolio Management

### 5. Multi-strategy cash forecast across currencies and prime brokers

**Problem.** The CIO asks "do we have enough cash to cover Friday's
capital call and still meet margin if vol spikes 30%?" No system can
answer it because cash is held at three PBs, margin is computed under
three different methodologies, and pending settlements, coupons,
dividends, option expiries, and FX forwards all hit different dates.

**Solution.** A forward-looking cash ladder that projects 30/60/90 days
of expected cash flows by currency, prime broker, and strategy — with
branching scenarios for vol-shock margin. Coupons and dividends come
from the reference-data layer; settlements from the trade blotter;
option expiries and auto-exercise from the derivatives book.

**Payoff.** Liquidity decisions move from Friday-afternoon panic to
Monday-morning planning.

---

### 6. Cross-prime margin optimization

**Problem.** The same net exposure costs materially different initial
margin at different prime brokers. The fund is paying PB fees and giving
up capital efficiency because nobody has a clean view of where each
position costs the least.

**Solution.** A margin attribution engine that computes marginal and
incremental margin contribution per position at each counterparty under
their actual methodology (Reg-T, TIMS, STANS, SPAN, house model). The
engine proposes transfer sequences that respect CSA thresholds,
minimum-transfer amounts, and margin-period-of-risk constraints.

**Payoff.** Measurable reduction in firm-level initial margin. Treasurer
gets a weekly optimization report instead of a gut feel.

---

### 7. Multi-book allocation and reallocation under fills

**Problem.** The PM enters a parent-level order for 100,000 shares
allocated pro-rata across three funds. Partial fills arrive, prices
move, a corporate action hits mid-settlement, and by the end of the day
the three fund-level positions don't match the parent any more. The
operations team spends Friday unwinding the drift by hand.

**Solution.** An allocation engine that tracks parent-order state and
reallocates every fill in real time under a declarative policy
(pro-rata by AUM, priority-first, round-lot preserving). Corporate
actions replay through the parent order first, then propagate. All
allocations carry an immutable link to the parent order for audit.

**Payoff.** Book-level positions reconcile to the parent order at any
point in the trading day.

---

## Portfolio Construction

### 8. Turnover-budgeted rebalancing

**Problem.** The client mandate caps turnover at 60% annualized. The
portfolio has drifted from model. A naive rebalance would blow through
the budget in one month. The PM needs to rebalance in the direction of
the target while staying under budget, and the trade list is produced
today.

**Solution.** A quadratic-program rebalancer that minimizes tracking
error to the target subject to turnover, transaction-cost, position-size,
concentration, and sector-neutrality constraints. Constraints are
expressed declaratively and can be swapped without rewriting the
optimizer. Output is an executable trade list, not a target weight
vector.

**Payoff.** Drift closes monotonically under the budget instead of in
one blown-through quarter.

---

### 9. Tax-aware lot selection integrated with rebalance

**Problem.** Rebalancing generates realized losses and gains. Which lots
to sell? HIFO harvests the most losses but risks wash sales. FIFO is
safe but inefficient. Specific ID is optimal but requires cross-account
visibility and wash-sale detection the OMS doesn't have.

**Solution.** A tax lot engine that runs inside the rebalance optimizer.
For every proposed sale, it evaluates all nine lot-relief methods
(FIFO, LIFO, HIFO, MinTax, LTFO, STFO, HCLT, HCST, specific ID) under
the live wash-sale graph across linked accounts (taxable, IRA, spouse)
and scores each option by after-tax P&L. Selection logic is mandate-
and carryforward-aware.

**Payoff.** Measurable basis-point improvement in after-tax return.
Documented per-lot reasoning, not a black box.

---

### 10. Custom benchmark blends that express the mandate

**Problem.** The mandate is "60% S&P 500 + 30% Bloomberg Agg + 10% MSCI
EM, rebalanced quarterly, with a 2% tilt toward low-volatility." Vendor
platforms express the 60/30/10 but lose the rebalance cadence and the
tilt. Tracking error measurement becomes incoherent.

**Solution.** A composite benchmark builder that expresses blend
weights, rebalance cadence, drift tolerance, overlay tilts, and
currency-hedging overlay as first-class inputs. The blend is evaluated
daily with its own return, volatility, and constituent decomposition —
not approximated from the component indices after the fact.

**Payoff.** Tracking error and attribution are computed against the
benchmark the client actually contracted for.

---

### 11. Delta-adjusted multi-asset exposure sizing

**Problem.** The book holds 100 shares of SPY, 5 SPX calls, 2 SPX puts,
a VIX futures position, and a short TRS on the sector. What is the real
net equity exposure? Most systems report notional; the PM needs
delta-equivalent and dollar-delta.

**Solution.** A single exposure engine that consumes every position,
resolves its underlying, computes position-level delta (and gamma, vega,
theta at the same time) from the options pricer, and aggregates to book
level in both share-equivalent and dollar-delta terms. Currency-
translated to base. Decomposable by underlying, by sector, by factor.

**Payoff.** The PM asks "what's my real exposure?" and gets a number
that matches the P&L move when the market moves.

---

### 12. Trade-list generation that respects real execution constraints

**Problem.** The optimizer outputs 847 orders. The broker rejects 123
of them for under-minimum-ticket, 56 for non-round-lot, and 41 for
broker-specific allocation rules. The operations team spends three
hours patching the list by hand.

**Solution.** A trade-list post-processor that is declarative about
constraints (minimum ticket, round-lot rounding per venue, broker
allocation rules per sleeve, cash sweep rules) and solves the rounding
problem globally — minimizing incremental tracking error introduced by
rounding, not rounding each trade independently.

**Payoff.** Broker rejections drop to near zero. Rounding cost is
measured and minimized, not absorbed as friction.

---

## Back Testing

### 13. Survivorship-bias-free universe

**Problem.** The backtest universe is today's S&P 500. The strategy
looked great. When run on the actual membership of the index over the
backtest period — including every name that was added, removed, or
delisted — it loses 200 bps. The backtest was measuring what worked on
survivors.

**Solution.** Universe construction that uses historical membership on
each rebalance date, retains delisted names with their delisting reason
and final price, and correctly handles mergers (survivor rolls,
acquirer positions), spin-offs (position split), and bankruptcy
(mark-to-recovery). Universe tables are bi-temporal with the security
master.

**Payoff.** Backtest results stop being optimistic about the past.

---

### 14. Transaction cost model that matches live execution

**Problem.** The backtest assumes 5 bps round-trip. Live trading shows
18 bps. The strategy is not actually profitable. The backtest cost
model missed market impact at the participation rates the strategy
requires.

**Solution.** A cost model that decomposes transaction cost into
commission + half-spread + temporary impact + permanent impact, each
calibrated from live execution data against participation rate, ADV,
volatility, and spread. Almgren-Chriss permanent-impact calibration,
square-root temporary-impact, venue-specific spread distributions.
Same cost model runs in backtest and pre-trade.

**Payoff.** Backtest P&L tracks live P&L within model error, not within
a factor of three.

---

### 15. Backtest-to-live drift attribution

**Problem.** The live strategy is underperforming the backtest by 150
bps/year. Is that alpha decay? Market regime change? A bug in live
execution? Nobody knows, and nobody can defend shutting it down or
doubling up without knowing.

**Solution.** A drift decomposition engine that runs the backtest
forward on live data and compares position-by-position and day-by-day
against the live book. Drift is decomposed into data (reference data
revisions), cost (model vs. actual slippage), execution (fill-vs-
benchmark), and residual (unexplained alpha decay). Each component has
a signed contribution.

**Payoff.** The PM can answer the alpha-decay question with a number
and a breakdown, not a hunch.

---

## Performance

### 16. GIPS 2020 composites that survive verification

**Problem.** The firm is claiming GIPS compliance. The verifier arrives,
asks for the composite definition, the inception date, and every §1.A
disclosure traced back to source. Half the documentation is in
spreadsheets and PDFs; the composite construction logic lives in a
senior analyst's head.

**Solution.** A GIPS engine where composite definition is a structured
object (eligibility criteria, inclusion cadence, significant-cash-flow
threshold, carve-out policy), every §1.A disclosure is a required field
with provenance, and composite returns are computed from the underlying
portfolios — not imported from a separate spreadsheet. Firm definition,
composite list, and hierarchy maintained in the same store.

**Payoff.** Verification goes from three-week fire drill to a directed
query.

---

### 17. Brinson-Fachler attribution extended for fixed-income effects

**Problem.** Equity attribution works — Brinson-Fachler with sector
buckets resolves allocation vs. selection cleanly. Fixed income doesn't,
because return is driven by the curve, spread, carry, and roll-down in
addition to selection. Standard attribution assigns everything to
"selection" and loses the story.

**Solution.** A fixed-income attribution engine that decomposes return
into duration, curve twist, curve butterfly, spread, carry, roll-down,
and selection within sector/rating/duration buckets. Keeps the
arithmetic additive and the unexplained residual near zero.
Multi-period Cariño-linked.

**Payoff.** The FI PM gets the same attribution story structure as the
equity PM, with buckets that actually map to the decisions being made.

---

### 18. Multi-period linking that explains daily-vs-total discrepancy

**Problem.** Daily arithmetic allocation and selection effects sum to a
number that doesn't equal the monthly geometric total. The client
notices. The PM can't explain it without apologizing for arithmetic.

**Solution.** Cariño smoothing (or Menchero, or GRAP, depending on
preference) applied consistently at every linking level. Residual is
reported as a named quantity, not absorbed. The client sees one
reconciled attribution table across daily/monthly/YTD/ITD horizons.

**Payoff.** "Why doesn't this add up?" becomes a defensible answer
instead of a stumble.

---

### 19. Attribution on derivatives overlays

**Problem.** The underlying book is long/short equity. A short-volatility
overlay (short strangles) is layered on top. The client's attribution
report shows one blob of return. The PM needs to show the underlying
selection alpha separately from the overlay P&L.

**Solution.** Attribution that treats the overlay as a distinct sleeve
with its own sector/strategy mapping, runs attribution on each sleeve,
and links them geometrically at the portfolio level. Greek-attribution
(delta, gamma, vega, theta decomposition of the overlay's P&L) is
computed natively from the options pricer.

**Payoff.** The client understands what the overlay earned, separate
from what the underlying earned.

---

### 20. Multi-currency attribution with hedging

**Problem.** The fund is base-USD, invested 30% in EUR assets, with a
rolling FX forward hedge at 80% ratio. The client's statement shows
"local return" and "base return" that differ by amounts that don't
tie to the hedge P&L. The treasurer has a reasonable question and no
way to answer it.

**Solution.** Karnosky-Singer multi-currency attribution, which
decomposes total return into market return, currency return, and
hedge effect. Hedge ratio drift is tracked position-by-position and
the hedge P&L is separately attributable.

**Payoff.** Local return + currency effect + hedge effect = base
return, and every term is explained.

---

## Risk

### 21. VaR where the methodology is a parameter, not a religion

**Problem.** The CRO wants historical VaR. The CIO wants parametric.
The regulator wants Monte Carlo. The fund admin reports one number and
nobody agrees it's right. Every time someone asks "what's our VaR?"
the follow-up is "under what methodology?"

**Solution.** A VaR engine where methodology (historical / parametric /
Monte Carlo), lookback window, confidence level, holding period, and
factor-covariance method (sample / Ledoit-Wolf / factor-model) are
orthogonal parameters on the same book. Every VaR run is reproducible
from its parameter set; methodology comparison is built-in.

**Payoff.** The VaR conversation becomes about risk, not about whose
methodology is "right."

---

### 22. Asymmetric up/down beta

**Problem.** The portfolio has 0.9 beta in up months and 1.3 beta in
down months. Vendor platforms report a single beta of 1.05 and miss the
tail. The PM has been marketing a defensive profile the portfolio
doesn't actually have.

**Solution.** Separate beta estimation on up and down samples, with
confidence intervals, at multiple horizons (daily, weekly, monthly),
against primary and secondary benchmarks. Rolling window tracks regime
shifts. Tail-beta (conditional on benchmark >2σ drawdown) reported
alongside unconditional.

**Payoff.** The PM finds out the tail story before the client does.

---

### 23. User-defined a-priori factor models

**Problem.** Barra's factor set doesn't match the mandate. The fund is
long-short micro-cap quality; Barra's quality factor is built against
S&P 500 and doesn't explain anything in the book. Vendor factor returns
are computed on a universe that doesn't overlap.

**Solution.** A factor-model framework where factors are declarative
(factor name, mimicking portfolio definition, universe filter, rebalance
cadence) and estimated on the user's universe, at the user's cadence,
with the user's constraints. Factor returns, exposures, and specific
risk are produced on the same framework that vendor models use, so the
downstream attribution/risk pipeline is unchanged.

**Payoff.** Factor risk decomposition actually explains the book.

---

### 24. Real-time liquidity risk with market-impact cost

**Problem.** "If I had to liquidate the book in five days, what would
it cost me?" Nobody on the team has a number. The CRO has been
estimating by dividing position notionals by ADV and multiplying by
spread.

**Solution.** A liquidation cost engine that takes a target horizon,
participation-rate cap, and venue-universe, and solves for the optimal
liquidation schedule per Almgren-Chriss. Output is dollar cost, day-by-
day schedule, and sensitivity to participation rate. Stressable under
volatility-shock scenarios. Runs intraday on demand.

**Payoff.** Liquidity risk becomes a reported number, not a guess.

---

### 25. Firm-level capitalization stress across methodologies

**Problem.** The firm is approaching a margin limit at one PB. Moving
the position to another PB moves the constraint under a different
methodology. The binding constraint at the firm level is unknown.

**Solution.** A capitalization stress engine that computes initial and
variation margin for the full book under every applicable methodology
(Reg-T, TIMS, STANS, OCC portfolio margin, SPAN, CFTC risk-based) and
finds the binding constraint at firm, fund, strategy, and account level.
Stresses include vol-up-30%, correlation-break, and historical-replay
scenarios. Three of my past implementations have been FINRA-approved at
separate broker-dealers.

**Payoff.** The capital decision stops being a hunch; the binding
constraint is a named scenario with a named counterparty.

---

### 26. Credit-derivative counterparty exposure with netting and collateral

**Problem.** The fund has CDS, IRS, and TRS exposure to six dealer
counterparties under six CSAs. Each CSA has its own threshold, MTA,
rounding, and margin-period-of-risk. The true counterparty credit
exposure (EPE, ENE, PFE) is what the board asks about; the collateral
team reports gross notional.

**Solution.** A counterparty-exposure engine that consumes every
derivative trade, the CSA terms per counterparty, and the collateral
held, and computes EPE, ENE, PFE, and CVA on a Monte Carlo
forward-simulation basis. Wrong-way risk flagged when correlation
between counterparty spread and exposure is positive.

**Payoff.** Counterparty risk reporting matches what banks compute,
which is what the board expects to see.

---

## Compliance

### 27. 1940 Act diversification on a daily full-portfolio scan

**Problem.** The 75% test, the 5%/10% tests, and the issuer-aggregation
rules (parent/subsidiary, guarantor) are checked monthly by spreadsheet.
Between checks, a corporate action could have pushed the fund out of
compliance for two weeks without anyone knowing.

**Solution.** A compliance engine that runs a full-portfolio sweep of
every §5(b)(1) rule daily, with issuer aggregation walked through the
security master's issuer-hierarchy graph (parent, subsidiary, guarantor,
related-party). Violations are dated to the first observation and
alerted in real time with a remediation-trade suggestion.

**Payoff.** Compliance goes from monthly snapshot to continuous
enforcement.

---

### 28. Pre-trade compliance that has to say "no" in milliseconds

**Problem.** Post-trade compliance catches violations after the order
is filled. By then the fund has already taken the position and has to
unwind at a loss. The trading desk needs a pre-trade check that
evaluates the full rule set without blocking the trade flow.

**Solution.** A pre-trade compliance layer inside the order flow that
evaluates every applicable rule (mandate, regulatory, restricted list,
concentration, leverage) against the post-trade state of the book, in
a hot path. Rule evaluations are cached and invalidated granularly;
p99 response time stays under a handful of milliseconds. Human-readable
reason string returned for every block.

**Payoff.** Violations are prevented, not unwound.

---

### 29. Immutable evaluation log traceable to rule, inputs, and timestamp

**Problem.** The SEC asks why a specific trade was allowed. The
compliance officer goes to the log and finds "PASS 2024-03-12 14:52
UTC" with no inputs captured. Nobody can reconstruct the rule state at
that moment.

**Solution.** An append-only evaluation log where every compliance
check writes the rule version, the full input vector (position state,
proposed trade, reference data as-of), the decision, and the timestamp.
Log is signed and stored alongside backups. Queryable by trade ID,
rule, account, date range.

**Payoff.** Regulatory reconstruction is a directed query; the log
itself becomes the audit artifact.

---

## Reconciliation

### 30. Custodian position reconciliation that actually matches

**Problem.** PB shows 10,000 shares. Accounting shows 10,000 on a
different lot structure. Attribution thinks it's 10,000 on a third
cost basis. Everything matches at the security level and nothing
matches at the lot level; the weekend reconciler is doing it by hand.

**Solution.** Lot-level reconciliation against the PB's lot-structure
feed, with matching rules per security type (specific ID, FIFO,
average cost) and a discrepancy log keyed to the event chain that
produced the divergence (trade, corporate action, settlement, adjust-
ment). Each discrepancy links back to the specific lifecycle event.

**Payoff.** Reconciliation reports name the cause, not just the
symptom.

---

### 31. LLM-driven extraction from unstructured custodian statements

**Problem.** The custodian sends a 40-page PDF with scanned tables,
inconsistent column order, identifiers that vary across sections, and
a narrative corporate-action supplement. The operations team keys the
data in by hand and drops 2% of it.

**Solution.** LLM-based structured extraction with grounding against
the security master: every extracted row resolves to an internal
security ID before it is accepted, unresolvable rows are queued for
human review, and extracted values are validated against the prior
day's state. Confidence scores drive auto-accept vs. review.

**Payoff.** Keying hours collapse. Human reviewers look at exceptions,
not at the whole statement.

---

### 32. Continuous multi-party reconciliation

**Problem.** PB, custodian, fund admin, and PMS all report slightly
different truths. The COO sees four position reports and can't say
which one is the book. The fund admin closes on their version; by the
time the PM sees it, it's too late.

**Solution.** A continuous reconciliation engine that ingests all four
position feeds on their native cadences, resolves to a single canonical
state of the book per day, and flags discrepancies with counterparty
attribution. End-of-day close is a published canonical state, not a
choice among conflicting reports.

**Payoff.** The book has one state at any point in time, and the
disagreements are a queue, not a panic.

---

## Portfolio Accounting

### 33. Double-entry GL with explicit event-to-journal mapping

**Problem.** The fund's accounting system posts "buy" and "sell" as
single-line entries. When the auditor asks for the debit-credit pair
on a specific corporate action, nobody can produce it; it was implicit.
The audit turns into a reconstruction exercise.

**Solution.** A double-entry general ledger where every lifecycle event
(buy, sell, dividend, coupon, corporate action, currency retranslation,
fee, mark-to-market) maps to an explicit journal template with debit
and credit accounts. 20+ event templates cover the full universe of
buy-side events. Trial balance closes daily; any non-zero trial balance
is a named break with a responsible event.

**Payoff.** Every GL balance is traceable to a specific economic event,
not a batch-job side effect.

---

### 34. Daily accruals, amortization, and IFRS 9 impairment

**Problem.** The fund holds callable bonds, OID notes, and distressed
credit. Accruals (OID, market discount, bond premium) are computed
monthly and booked in a lump. IFRS 9 three-stage impairment is done
year-end by the auditor. Interim NAVs are wrong by enough to matter.

**Solution.** Daily accrual of OID (constant yield), market discount
(straight-line or constant yield, client election), bond premium
amortization, and IFRS 9 ECL with stage transitions (12-month vs.
lifetime) driven by a credit-trigger framework. Each accrual posts to
the GL with full journal visibility.

**Payoff.** Interim NAVs match year-end NAVs; no year-end surprise.

---

### 35. High-water-mark performance fee with equalization

**Problem.** Multi-class fund with rolling subscriptions, HWM per
investor, hurdle rate on one share class, and performance fees
crystallized at year-end. The accounting team computes fees in a
spreadsheet. Every investor asks a slightly different question and
the answer takes a day to assemble.

**Solution.** A performance-fee engine that tracks HWM per investor
(not per share class), applies hurdles and caps per mandate, supports
equalization for subscriptions between crystallization dates, and
accrues unpaid fees as a liability on the GL. Investor-level fee
statements are a query, not a recompute.

**Payoff.** Fee disputes are resolved by pointing at the ledger.

---

## ESG

### 36. Portfolio ESG scoring when the vendors disagree

**Problem.** MSCI says 8.2. Sustainalytics says 24.5 (inverse scale).
ISS says "Prime." The client asks for a single portfolio ESG number.
The analyst averages the three and produces something that means
nothing.

**Solution.** A weighted reconciliation of vendor scores normalized to
a common scale, with vendor weights per issuer driven by coverage
quality. Issuer-level scores aggregate to portfolio level with the
weighting the client's mandate specifies (market value, carbon
intensity, revenue). Each portfolio number decomposes back to issuer
and vendor contributions.

**Payoff.** A single ESG number that is defensible, not an average of
apples and oranges.

---

### 37. LLM-derived ESG scoring for uncovered issuers

**Problem.** The fund holds private credit, off-benchmark munis, and
emerging-market sovereigns. No third-party ESG vendor covers them.
The ESG overlay is simply silent on half the book.

**Solution.** LLM-based ESG scoring from primary documents (prospectus,
issuer disclosures, regulatory filings) with traceable evidence: every
score is backed by citations to specific passages, scores are
calibrated against rated comparables, and the model's confidence is
reported alongside the score.

**Payoff.** The mandate's ESG policy applies to the whole book, not
just the covered half.

---

## Tax

### 38. IRC §1091 wash-sale detection across linked accounts

**Problem.** The PM realizes a loss in the taxable account. The
spouse's IRA buys the same security within 30 days. The loss is
disallowed. The accounting system, which sees only the taxable
account, reports the loss as harvested. Tax time brings a surprise.

**Solution.** A wash-sale engine that operates on the linked-account
graph (taxable, IRA, spouse, trust), applies §1091 across all linked
accounts, and identifies substantially identical securities (SI) per
the issuer and terms, not just CUSIP. Disallowances cascade to
adjusted basis and holding-period carry.

**Payoff.** The realized-loss report matches what the CPA produces.

---

### 39. §1256 mark-to-market with 60/40 treatment

**Problem.** Futures and non-equity index options are §1256 contracts,
marked to market at year-end with 60% long-term / 40% short-term
treatment. The accounting system books the positions at cost through
year-end and the tax team handles §1256 in a spreadsheet. Intra-year
tax-efficiency decisions are blind.

**Solution.** Native §1256 handling in the accounting engine, with
daily MTM for tax purposes separate from economic MTM, 60/40 character
attribution at each position, and year-end carry-forward tracking.
Tax-aware P&L is available any day, not just year-end.

**Payoff.** Tax-efficiency decisions use a real number, not an
estimate.

---

### 40. AI-ranked loss-harvesting across the mandate

**Problem.** The book has 200 positions at unrealized losses. Naive
harvesting (sell all losers) violates the mandate, triggers wash
sales, and exhausts short-term capacity that would have been useful
later. The PM defaults to "harvest the biggest loss" and leaves
basis points on the table.

**Solution.** A harvesting optimizer that scores every candidate sale
by after-tax impact (short vs. long-term character, wash-sale
probability given the reinvestment universe, mandate tilt after the
sale, carry-forward utilization). Proposes a ranked list with
explicit opportunity cost vs. alternatives. Runs as a pre-trade
what-if and as an end-of-quarter report.

**Payoff.** Measurable after-tax return improvement, documented per
position.

---

## How to engage

These are problems I have solved before and will solve for your firm.
Scope ranges from a focused 4–8 week build to a multi-quarter platform
engagement. I work with firms directly and, where it fits, through
Gyre Research.

- **Email:** sms@gyreresearch.com
- **Phone:** +1 617 755 4001
- **Site:** https://sykowski.com/
- **Gyre Research:** https://www.gyreresearch.com/
