Spaces:
Running
Running
QAway-to
commited on
Commit
·
a1ca5ac
1
Parent(s):
a83f835
model change
Browse files- analyzer.py +1 -1
- comparer.py +2 -2
- useCasesPrompts.py → useCasesReferences.py +39 -0
analyzer.py
CHANGED
|
@@ -3,7 +3,7 @@ from prompts import TEST1
|
|
| 3 |
# from prompts import METRIC_CLASSES
|
| 4 |
from fetch import extract_portfolio_id
|
| 5 |
from fetch import fetch_metrics_async
|
| 6 |
-
from
|
| 7 |
|
| 8 |
from openai import OpenAI
|
| 9 |
import asyncio
|
|
|
|
| 3 |
# from prompts import METRIC_CLASSES
|
| 4 |
from fetch import extract_portfolio_id
|
| 5 |
from fetch import fetch_metrics_async
|
| 6 |
+
from useCasesReferences import REFERENCE_PROMPT
|
| 7 |
|
| 8 |
from openai import OpenAI
|
| 9 |
import asyncio
|
comparer.py
CHANGED
|
@@ -2,7 +2,7 @@ import asyncio
|
|
| 2 |
from fetch import extract_portfolio_id, fetch_metrics_async
|
| 3 |
from prompts import TEST1
|
| 4 |
from openai import OpenAI
|
| 5 |
-
from
|
| 6 |
|
| 7 |
# Сравнение двух портфелей
|
| 8 |
def compare_portfolio(text1: str, text2: str, client: OpenAI):
|
|
@@ -30,7 +30,7 @@ def compare_portfolio(text1: str, text2: str, client: OpenAI):
|
|
| 30 |
|
| 31 |
m1_text = ", ".join([f"{k}: {v}" for k, v in m1.items()])
|
| 32 |
m2_text = ", ".join([f"{k}: {v}" for k, v in m2.items()])
|
| 33 |
-
prompt= f"{
|
| 34 |
|
| 35 |
try:
|
| 36 |
response = client.chat.completions.create(
|
|
|
|
| 2 |
from fetch import extract_portfolio_id, fetch_metrics_async
|
| 3 |
from prompts import TEST1
|
| 4 |
from openai import OpenAI
|
| 5 |
+
from useCasesReferences import REFERENCE_COMPARISON_PROMPT
|
| 6 |
|
| 7 |
# Сравнение двух портфелей
|
| 8 |
def compare_portfolio(text1: str, text2: str, client: OpenAI):
|
|
|
|
| 30 |
|
| 31 |
m1_text = ", ".join([f"{k}: {v}" for k, v in m1.items()])
|
| 32 |
m2_text = ", ".join([f"{k}: {v}" for k, v in m2.items()])
|
| 33 |
+
prompt= f"{REFERENCE_COMPARISON_PROMPT} используй этот промпт для сравнения:Потрфель 'А'{m1_text}Портфель 'Б': {m2_text}"
|
| 34 |
|
| 35 |
try:
|
| 36 |
response = client.chat.completions.create(
|
useCasesPrompts.py → useCasesReferences.py
RENAMED
|
@@ -24,3 +24,42 @@ REFERENCE_PROMPT = (
|
|
| 24 |
"**Общая рекомендация**\n\n"
|
| 25 |
"- {summary_1}"
|
| 26 |
)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 24 |
"**Общая рекомендация**\n\n"
|
| 25 |
"- {summary_1}"
|
| 26 |
)
|
| 27 |
+
|
| 28 |
+
REFERENCE_COMPARISON_PROMPT = (
|
| 29 |
+
|
| 30 |
+
"**Сравнительный анализ портфелей**\n\n"
|
| 31 |
+
"Портфель А:\n"
|
| 32 |
+
"- Годовая доходность (Annualized Return): {a_value1}\n"
|
| 33 |
+
"- Максимальная просадка (Max Drawdown): {a_value2}\n"
|
| 34 |
+
"- Коэффициент Шарпа (Sharpe Ratio): {a_value3}\n"
|
| 35 |
+
"- Коэффициент Сортино (Sortino Ratio): {a_value4}\n"
|
| 36 |
+
"- Коэффициент Калмара (Calmar Ratio): {a_value5}\n"
|
| 37 |
+
"- Бета (Beta): {a_value6}\n"
|
| 38 |
+
"- Волатильность (Volatility): {a_value7}\n\n"
|
| 39 |
+
|
| 40 |
+
"Портфель Б:\n"
|
| 41 |
+
"- Годовая доходность (Annualized Return): {b_value1}\n"
|
| 42 |
+
"- Максимальная просадка (Max Drawdown): {b_value2}\n"
|
| 43 |
+
"- Коэффициент Шарпа (Sharpe Ratio): {b_value3}\n"
|
| 44 |
+
"- Коэффициент Сортино (Sortino Ratio): {b_value4}\n"
|
| 45 |
+
"- Коэффициент Калмара (Calmar Ratio): {b_value5}\n"
|
| 46 |
+
"- Бета (Beta): {b_value6}\n"
|
| 47 |
+
"- Волатильность (Volatility): {b_value7}\n\n"
|
| 48 |
+
|
| 49 |
+
"**Ключевые отличия и интерпретация**\n\n"
|
| 50 |
+
"Укажи, какие метрики наиболее контрастны между портфелями и как это влияет на характер стратегии каждого из них. "
|
| 51 |
+
"Объясни, какой портфель более доходный, какой — более устойчивый, где выше риск, где — лучше соотношение доходности к риску.\n\n"
|
| 52 |
+
|
| 53 |
+
"**Профиль портфеля А**\n"
|
| 54 |
+
"- {a_profile_summary}\n\n"
|
| 55 |
+
|
| 56 |
+
"**Профиль портфеля Б**\n"
|
| 57 |
+
"- {b_profile_summary}\n\n"
|
| 58 |
+
|
| 59 |
+
"**Выбор стратегии**\n"
|
| 60 |
+
"Укажи, для какого типа инвестора подходит каждый портфель. Избегай расплывчатых фраз. Дай чёткое позиционирование (например: "
|
| 61 |
+
"‘Портфель А — для агрессивных стратегий’, ‘Портфель Б — для умеренных с приоритетом на защиту капитала’).\n\n"
|
| 62 |
+
|
| 63 |
+
"**Заключение**\n"
|
| 64 |
+
"Выведи итог сравнения: какие плюсы и минусы у каждого, кто выигрывает в каких аспектах, а кто — уступает."
|
| 65 |
+
)
|