Головна / Статті

Вимірювання зміщень портфеля за допомогою Claude та сервера MCP FMP

Гіпотетичний портфель сімейного офісу вартістю 1 млн доларів перебудовується на основі цін FMP для вимірювання абсолютних, відносних та секторальних зміщень, а також для позначення позицій з метою їх аналізу фахівцями.

Видавець: REACTAPP.TOP12 хв читання2651 слів

Джерела: How Family Offices Can Use Claude + FMP MCP to Detect Portfolio Drift Before Rebalancing

Чому портфелі змінюються без жодних операцій

Якщо залишити портфель у спокої, він все одно не збереже своєї початкової структури. Акції працюють по-різному, тому ваги позицій змінюються трохи щодня, і через кілька місяців розподіл, обраний фамільним офісом, може виглядати зовсім інакше. Такі зміни не є автоматично проблемою, адже невеликі відхилення є нормальними. Практичне питання є більш конкретним: чи якась з позицій чи секторів відхилилася настільки далеко від своєї цільової ваги, щоб вимагати уважнішого аналізу перед тим, як розглядати можливість корекції?

Claude, підключений до сервера MCP Financial Modeling Prep (FMP), ідеально підходить для відповіді на це питання. Якщо надати йому цільові ваги, історичні ціни та класифікації компаній, він може відтворити, як би розвивався портфель без жодних операцій, та оцінити величину виниклих змін.

Що таке зміни та як їх вимірювати

Дрифт виникає, коли зміни на ринку змінюють вагу окремих активів, навіть якщо ніхто не здійснював торгівлі. Припустимо, портфель починається з Microsoft на 20%, NVIDIA на 15% та JPMorgan на 20%. Якщо один з активів зростає значно швидше за інші, його вага збільшується сама по собі, тоді як вага повільніше зростаючих активів відносно зменшується. Тоді інвестиційна команда стикається з трьома запитаннями, і наведені нижче методи допомагають їм на них відповісти.

Перше порівняння — це відновлена поточна вага порівняно з початковою цільовою вагою. Позиція, яка зросла з 15% до 17%, дрифтувала на +2 відсоткові пункти, що є абсолютним показником того, наскільки більшу частину портфеля вона тепер становить.

Абсолютний дрифт може приховувати справжню величину зміни. Два відсоткові пункти мають набагато більше значення для позиції, яка починалася з 5%, ніж для тієї, що починалася з 25%. Відносний дрифт усуває цю різницю, і формула для його розрахунку наведена тут:

Використання обох підходів разом дозволяє відокремити безневинний «шум» у розподілі активів від змін, які справді впливають на структуру портфеля.

Окремі активи також можуть змінювати склад секторів. Якщо позиція в технологічній галузі значно перевищує інші, її частка у розподілі може поступово зростати без будь-якого свідомого рішення. Таким чином, аналіз змін у секторах забезпечує додатковий рівень перевірки окрім аналізу окремих активів.

Важливу роль відіграє також внесок кожного активу, адже вони не впливають на загальну зміну однаково. Вимірювання частки кожного активу у загальній абсолютній зміні дозволяє з’ясувати, чи портфель змінився через одну домінуючу позицію, невелику групу активів чи широкі зміни в кількох сегментах портфеля. Метою все одно не є автоматичне відновлення балансу при кожній відхиленні — це виявлення змін, достатньо значних, щоб заслуговувати уваги аналітика.

Налаштування симуляції

Тестовий портфель — це гіпотетичний рахунок сімейного офісу на суму 1 мільйон доларів, створений 2 січня 2026 року; його початкове розподілення показано нижче.

Після створення рахунку не відбувається жодних операцій купівлі-продажу, депозитів, виведення коштів чи ручного коригування розподілу активів. Для кожної позиції Claude отримує два види даних через сервер FMP MCP: назву компанії, сектор та галузь, а також ціни з урахуванням дивідендів за 2 січня та 26 серпня 2026 року. У реальних умовах класифікація походила з даних FMP:company з параметром profile-symbol, а серії цін — з даних FMP:chart з параметром historical-price-eod-dividend-adjusted. Обидві дати припадали на робочі дні на ринку США, тому не було потреби у замінних датах.

Зміна ціни з урахуванням дивідендів використовується як замінник загальної дохідності. Спочатку для кожної позиції обчислюється коефіцієнт зростання на основі цих двох цін.

Множення початкового розподілу на цей коефіцієнт дає кінцеву вартість активів.

Після перерахунку кожної кінцевої вартості визначається нова вага портфеля на основі частки кожної позиції в загальній сумі.

Це навмисно спрощена симуляція без участі реальних транзакцій. Вона не намагається відтворити реальний брокерський рахунок з грошовими дивідендами, податками, витратами на транзакції чи проміжною діяльністю.

Далі два показники порівнюють перераховані ваги з початковим розподілом. По-перше, абсолютне відхилення у відсоткових пунктах:

По-друге, відносне відхилення як частка від початкової ваги:

Однакові перераховані ваги групуються за класифікацією секторів FMP, що дозволяє визначити, чи обмежується відхилення окремими акціями, чи також впливає на розподіл у межах секторів.

Порогові значення для оцінки

Після перегляду ваг наступне питання — які відхилення заслуговують уваги. У цій демонстрації використовуються ілюстративні діапазони замість розгляду кожної зміни як сигналу про необхідність перебалансування.

Для окремих активів статус визначається за двома показниками дрейфу:

  • У межах діапазону означає абсолютний дрейф до 2 відсоткових пунктів та відносний дрейф до 15%.
  • Під контролем — коли актив ще не потребує перевірки та має абсолютний дрейф від 2 до 4 пунктів або відносний дрейф від 15% до 25%.
  • Потребує перевірки — коли абсолютний дрейф перевищує 4 пункти або відносний дрейф — 25%.

Ці пороги існують лише для того, щоб приклад був відтворюваним. Це не є універсальними стандартами перебалансування.

Рівень експозиції у секторі використовує власні діапазони: «У межах діапазону» — менше 3 балів, «Під контролем» — від 3 до 5 балів, а «Треба переглянути» — більше 5 балів. Це показує, чи зміни в окремих позиціях також впливають на бажану структуру розподілу за секторами.

Два підсумкові показники доповнюють цей набір інструментів. «Відстань розподілу портфеля» описує, наскільки весь портфель відхилився від початкового розподілу, і обчислюється як половина суми абсолютних різниць між поточними та цільовими вагами всіх позицій. Він відображає загальні зміни у розподілі, і до нього не призначаються позначки «Низький», «Середній» чи «Високий», оскільки метод не встановлює жодних порогів. «Внесок у абсолютний зсув» — це відношення абсолютної різниці для певної позиції до суми всіх абсолютних різниць, помножене на 100. Це дозволяє відрізнити портфель, який переважно змінився через одну цінність, від портфеля, де кілька позицій поступово відхилилися від цільових значень.

Головна мета — знаходити відхилення, які варто проаналізувати, а не перетворювати їх на інструкції для торгівлі.

Запит

За фіксованими правилами та пороговими значеннями для розподілу капіталу Claude може отримати дані FMP та відновити портфель. Основний запит через сервер FMP MCP наказує йому:

  • отримати ціни, скориговані на дивіденди, для обох дат;
  • визначити кінцеву вартість та поточну вагу кожної позиції;
  • виміряти абсолютне та відносне відхилення;
  • об’єднати результати за секторами;
  • обчислити відстань розподілу капіталу в портфелі та визначити основні фактори, що впливають на загальне відхилення;
  • позначити кожну позицію як „У межах норми“, „Під контролем“ чи „Треба переглянути“.

Повний запит складається з 76 рядків; у ньому Claude представлений як аналітик з інвестиційних досліджень для сімейного офісу, його діяльність обмежується сервером FMP MCP, а також описано гіпотетичний портфель та правила.

Act as an investment-research analyst supporting a family office.

Using only the Financial Modeling Prep (FMP) MCP server, analyze how far the following hypothetical portfolio has drifted from its original target allocation.

Do not use web search or outside data.

Portfolio:

MSFT — Target Weight: 20% — Initial Allocation: $200,000
NVDA — Target Weight: 15% — Initial Allocation: $150,000
JPM — Target Weight: 20% — Initial Allocation: $200,000
GOOGL — Target Weight: 15% — Initial Allocation: $150,000
XOM — Target Weight: 15% — Initial Allocation: $150,000
JNJ — Target Weight: 15% — Initial Allocation: $150,000

Total portfolio value at inception = $1,000,000.

Assume:
- no trades occurred after the initial allocation;
- no capital was added or withdrawn;
- no manual rebalancing occurred;
- transaction costs, taxes, and cash balances are outside the scope of this demonstration.

Analysis date: August 27, 2026.
Use August 26, 2026, the last completed U.S. trading session, as the ending price date.

Retrieve for each ticker:
- company name;
- sector;
- industry;
- dividend-adjusted historical price for January 2, 2026;
- dividend-adjusted historical price for August 26, 2026.

Use the FMP dividend-adjusted historical price series if available.

If an exact date is unavailable, use the closest valid trading date and state the date actually used.

Do not estimate missing FMP values.

Reconstruct the portfolio using the dividend-adjusted price change as a total-return proxy.

Calculate for each holding:
- growth factor;
- ending value;
- current portfolio weight;
- absolute drift in percentage points;
- relative drift as a percentage of target weight.

Classify each holding using these illustrative rules:

Within Range:
- absolute drift below 2 percentage points; AND
- absolute relative drift below 15%.

Monitor:
- absolute drift between 2 and 4 percentage points inclusive; OR
- absolute relative drift between 15% and 25% inclusive;
- provided Review Required has not already been triggered.

Review Required:
- absolute drift above 4 percentage points; OR
- absolute relative drift above 25%.

Also calculate target and current sector weights using FMP sector classifications.

Classify sector drift as:
- Within Range: below 3 percentage points;
- Monitor: 3–5 percentage points inclusive;
- Review Required: above 5 percentage points.

Calculate Portfolio Allocation Distance as:

0.5 × sum of the absolute position-level weight deviations.

Do not assign a Low, Medium, or High label to this metric.

Also calculate each holding's contribution to total absolute drift.

Based strictly on the calculated evidence, identify:
- the largest overweight;
- the largest underweight;
- Monitor positions;
- Review Required positions;
- the sectors with the largest drift;
- the holdings contributing most to total drift;
- the highest-priority deviations for analyst review.

Do not recommend buying, selling, trimming, adding to, or rebalancing any security.

If important price, sector, or classification data is missing or conflicting, use Review Required rather than guessing.

Do not claim that corporate events were checked unless data capable of verifying them was actually retrieved.

Present the results clearly and concisely using tables where useful.

Include:
- methodology and actual dates used;
- reconstructed portfolio weights;
- position-level drift;
- sector-level drift;
- Portfolio Allocation Distance;
- contribution to total drift;
- key findings;
- Review Required items;
- FMP MCP tools and data types used.

Що виявило дослідження

Ціни були взяті з коригованої на дивіденди серії FMP за 2 січня та 26 серпня 2026 року, і всі необхідні ціни були доступні.

На малюнку вище Claude узагальнює виявлену відхиленість між цінами FMP та даними компанії. Один основний запит дозволив створити всю кількісну аналіз. Пізніше, за допомогою більш вузькосферичного наступного запиту без нового пошуку чи обчислень, було лише уточнено інтерпретацію: були видалені непідтверджені кількісні позначки щодо параметра Portfolio Allocation Distance та чітко зазначено, що відхилення в секторі з однією акцією не слід розглядати як доказ ширшої зміни сектору чи ринку.

Після реконструкції станом на 26 серпня 2026 року вартість портфеля становила $1,158,925.10, що є показником загального приросту на рівні 15,89% у умовах симуляції без здійснення угод.

Тут Claude відстежує цільові показники, відновлені ваги та позиції, які перевищили пороги моніторингу. Ще більш значущим є те, як нерівномірна продуктивність змінила заплановане розподілення активів.

JNJ опинився з найбільшим перевищенням — 17,12%, що на +2,12 відсоткових пунктів більше за ціль. XOM йшов слідом з показником 17,03%, тобто на +2,03 пункти більше. Обидва перевищили поріг у 2 пункти та потрапили до категорії Monitor. Жоден з них не досяг рівня, що вимагає перегляду.

Microsoft опустився від своєї цілі у 20% до 18,23%, що є найбільшим недостатнім рівнем — -1,77 пунктів. Він залишився у межах допустимого діапазону, оскільки різниця була меншою за абсолютні та відносні ліміти категорії Monitor. Це ілюструє важливу ідею: актив може показати позитивну дохідність, проте все одно залишитися з недостатнім рівнем, якщо інші позиції зростають швидше.

Різниця у розподілі портфеля склала 4,15 відсоткових пунктів, що характеризує, наскільки сильно весь портфель відхилився від цільового рівня, знову ж таки без якісної класифікації.

Показники внеску показують, хто був відповідальний за більшу частину змін.

JNJ та XOM разом становили 50% від загального абсолютного відхилення, а MSFT додав ще 21,35%. Отже, більша частина структурних змін походила від кількох активів, а не від рівномірного розподілу.

На рівні секторів жоден з них не перевищив порогове значення Monitor у 3 пункти.

Технологічний сектор показав найбільшу зміну — -2,39 пунктів — і залишився в межах допустимого діапазону. Проте у цій вибірці чотири з п’яти секторів містять лише по одній акції: у секторі енергетики це XOM, у охорони здоров’я — JNJ, у фінансових послугах — JPM, а у секторі комунікаційних послуг — GOOGL. Зміни в цих секторах переважно відображають динаміку окремої акції, а не більш широкий секторальний ефект.

Висновок простий: зміни були достатньо значними, щоб включити JNJ та XOM до списку під контролем, але не настільки, щоб вимагати перегляду позицій чи секторів.

Де думка аналітика все ще має значення

Програмне забезпечення може вимірювати зміни, проте ці цифри не завжди пояснюють, чому змінилась позиція, і в деяких випадках потрібен перегляд фахівцем перед тим, як результати будуть використані для процесу корекції портфеля.

Те, що акції JNJ та XOM перетинають рівень у 2 пункти, свідчить про те, що вони досягли достатнього рівня для уваги. Це не означає, що їх слід автоматично видалити з портфеля. Аналітик все одно мусить з’ясувати, чи є це відхилення тимчасовим, очікуваним чи відповідає поточній інвестиційній політиці.

Цей розвиток ситуації ґрунтувався на класифікаціях компаній та цінах, скоригованих на дивіденди. Він не враховував жодних новин, звітів, оголошень про прибутки чи інших даних про події, тому не може пояснити, чому акції JNJ чи XOM показали кращі результати. У разі надзвичайно великого відхилення аналітик може захотіти перевірити наступне:

  • неочікувані результати діяльності чи скориговані прогнози;
  • угоди чи корпоративну реструктуризацію;
  • розділення компанії, відокремлення підрозділів чи подібні корпоративні заходи;
  • новини, пов’язані безпосередньо з компанією;
  • зміни на ринку чи в галузі в цілому.

Лише дані про ціни не повинні використовуватися для висновків щодо цих показників. Сектори, що складаються з однієї цінності, вимагають додаткової обережності. Оскільки сектор охорони здоров’я повністю представлений компанією JNJ, зміна показника цього сектора в портфелі на +2,12 пункти механічно збігається зі зміною показника самої JNJ, тож це нічого не говорить про сектор охорони здоров’я в цілому.

Цей метод також передбачає відсутність будь-яких операцій, внесків чи виведень, ручного коригування складу портфеля та окремого розподілу грошових коштів. Якщо реальний портфель містить будь-які з цих елементів, ваги, розраховані на основі цін, більше не будуть відповідати фактичному стану рахунку, тому процес аналізу має ґрунтуватися на справжніх даних про транзакції та володіння активами, а не на висновках, зроблених на основі цін.

Коли дані відсутні чи суперечливі

У будь-якій з цих ситуацій Claude має відповісти Треба перевірити, а не робити припущення:

  • неможливо знайти початкову чи кінцеву ціну активу;
  • Дані про ціну після корекції на дивіденди мають прогалини;
  • Класифікація секторів від FMP є лише частковою;
  • Цілеві ваги не дорівнюють 100%;
  • FMP повертає записи, які суперечать один одному;
  • Корпоративні заходи ускладнюють історичне порівняння.

Цей процес створений для того, щоб полегшити виявлення та пріоритизацію відхилень. Рішення про необхідність корекції залишається за інвестиційною командою.

Перетворення на регулярний огляд

Одноразовий аналіз допомагає, але фамільний офіс отримує більше користі, якщо буде його повторювати, поки ваги продовжують змінюватися. Аналіз Claude та FMP MCP може виконуватися за графіком та порівнювати найновіші відновлені ваги з початковими цілями та результатами попереднього огляду. Кожен цикл тоді зосереджується на змінах та не повторює всю картину. Варто відстежувати:

  • назви, які щойно вийшли за межі своїх діапазонів;
  • акції, які перейшли з категорії «У межах діапазону» у категорію «Під контролем»;
  • акції, які досягли категорії «Треба переглянути»;
  • об’єкти, які були позначені як проблемні, але згодом знову наблизилися до своїх цілей;
  • як змінювався відхилення на рівні секторів;
  • тренд у відстані розподілу портфеля;
  • будь-які зміни у тому, хто є основними факторами відхилень.

Короткий словник статусів полегшує ознайомлення з інформацією: «У межах діапазону», «Під контролем», «Треба переглянути» та «Вирішено». Розумним стандартом тут є щотижневий огляд з більш детальним місячним аналізом, який можна коригувати залежно від обороту портфеля, обов’язків зі звітності та рівня активності команди у керуванні діапазонами. Порівняння цільового розподілу, попереднього та поточного оглядів поруч допомагає легше відрізнити тимчасові коливання від тренду, який все ще формується.

Проте робочий процес має завершуватися на етапі визначення пріоритетів. Claude може повідомити про суттєві зміни у стані активів порівняно з початковими цілями, тоді як інвестиційна команда приймає рішення щодо корекції розподілу. У цьому прикладі не виникло позицій, які потребують перевірки: JNJ та XOM були віднесені до категорії «Під контролем», а решта залишилися в заданих межах. Саме це є метою — допомогти аналітикам бачити, де зміни у розподілі вимагають уваги перед прийняттям рішення про корекцію, залишаючи операції з торгівлею на розсуд фахівців.