157 lines
5.6 KiB
Python
157 lines
5.6 KiB
Python
#!/usr/bin/env python3
|
||
"""
|
||
测试添加"如何投资"的优化记录
|
||
"""
|
||
|
||
import requests
|
||
import json
|
||
|
||
BASE_URL = "http://localhost:5002"
|
||
|
||
def test_add_investment_record():
|
||
"""测试添加投资相关的优化记录"""
|
||
print("🧪 测试添加投资优化记录...")
|
||
|
||
test_data = {
|
||
"original_text": "如何投资",
|
||
"optimized_text": """以下是针对不同投资需求的优化提示词,涵盖主要资产类别与策略方向:
|
||
|
||
【股票投资】
|
||
"生成A股沪深300成分股近三年的基本面分析报告,需包含以下维度:
|
||
1. 估值指标(PE/PB/PS分位数)
|
||
2. 财务健康度(资产负债率/现金流覆盖率)
|
||
3. 行业景气度(营收复合增长率/毛利率变动)
|
||
4. 技术面分析(相对强弱指数/布林带位置)
|
||
*重点标注当前估值处于历史30%分位以下的标的"
|
||
|
||
【基金配置】
|
||
"设计平衡型基金投资组合方案(股债比例6:4),要求:
|
||
1. 列举3只近5年夏普比率>1.2的主动型权益基金
|
||
2. 配置2只久期在3-5年的国债ETF
|
||
3. 加入15%的黄金ETF作为避险资产
|
||
4. 测算该组合在2018-2023年期间的最大回撤率
|
||
*需说明美联储加息周期中的调整策略"
|
||
|
||
【固收产品】
|
||
"对比分析当前中美债券市场投资机会:
|
||
1. 中国10年期国债收益率与CPI的利差空间
|
||
2. 美国高收益企业债违约率预期(2024Q2)
|
||
3. 人民币汇率波动对跨境债券收益的影响系数
|
||
4. 提供久期免疫策略的具体操作方案"
|
||
|
||
【另类投资】
|
||
"编制大宗商品CTA策略回测报告(2020-2024):
|
||
1. 能化/黑色/有色三大板块的趋势性指标
|
||
2. 跨品种套利年化收益率测算
|
||
3. 波动率聚集效应的风控方案
|
||
4. 建议仓位管理模型(凯利公式变体)"
|
||
|
||
【风险提示要素】
|
||
所有方案必须包含:
|
||
1. 历史波动率与VaR(95%)测算
|
||
2. 流动性风险预警指标
|
||
3. 跨市场传染效应分析
|
||
4. 符合《证券期货投资者适当性管理办法》的风险等级评定
|
||
请补充说明您的:
|
||
- 投资期限(短期/中期/长期)
|
||
- 风险承受等级(R1-R5)
|
||
- 特定行业偏好
|
||
- 资金规模区间
|
||
我将据此提供定制化方案。""",
|
||
"optimization_type": "投资策略",
|
||
"industry": "金融",
|
||
"profession": "投资顾问",
|
||
"tags": ["投资策略", "风险控制", "资产配置"]
|
||
}
|
||
|
||
try:
|
||
response = requests.post(
|
||
f"{BASE_URL}/api/optimization-history",
|
||
json=test_data,
|
||
headers={'Content-Type': 'application/json'}
|
||
)
|
||
|
||
if response.status_code == 200:
|
||
result = response.json()
|
||
if result.get('success'):
|
||
new_id = result.get('data', {}).get('id')
|
||
print(f" ✅ 投资优化记录添加成功,ID: {new_id}")
|
||
return True
|
||
else:
|
||
print(f" ❌ 投资优化记录添加失败: {result.get('message')}")
|
||
return False
|
||
else:
|
||
print(f" ❌ 投资优化记录添加请求失败: {response.status_code}")
|
||
print(f" 响应内容: {response.text}")
|
||
return False
|
||
|
||
except Exception as e:
|
||
print(f" ❌ 投资优化记录添加异常: {str(e)}")
|
||
return False
|
||
|
||
def test_get_all_records():
|
||
"""测试获取所有记录"""
|
||
print("\n🧪 测试获取所有优化记录...")
|
||
|
||
try:
|
||
response = requests.get(f"{BASE_URL}/api/optimization-history")
|
||
|
||
if response.status_code == 200:
|
||
result = response.json()
|
||
if result.get('success'):
|
||
history = result.get('data', {}).get('history', [])
|
||
total = result.get('data', {}).get('pagination', {}).get('total', 0)
|
||
print(f" ✅ 成功获取 {total} 条记录")
|
||
|
||
# 查找投资相关的记录
|
||
investment_records = [r for r in history if '投资' in r.get('original_text', '') or '投资' in r.get('optimization_type', '')]
|
||
if investment_records:
|
||
print(f" ✅ 找到 {len(investment_records)} 条投资相关记录")
|
||
for record in investment_records:
|
||
print(f" - ID: {record['id']}, 类型: {record['optimization_type']}, 时间: {record['created_at']}")
|
||
else:
|
||
print(" ⚠️ 未找到投资相关记录")
|
||
|
||
return True
|
||
else:
|
||
print(f" ❌ 获取记录失败: {result.get('message')}")
|
||
return False
|
||
else:
|
||
print(f" ❌ 获取记录请求失败: {response.status_code}")
|
||
return False
|
||
|
||
except Exception as e:
|
||
print(f" ❌ 获取记录异常: {str(e)}")
|
||
return False
|
||
|
||
def main():
|
||
"""主测试函数"""
|
||
print("🚀 测试投资优化记录功能")
|
||
print("=" * 50)
|
||
|
||
# 测试添加投资记录
|
||
add_success = test_add_investment_record()
|
||
|
||
# 测试获取所有记录
|
||
get_success = test_get_all_records()
|
||
|
||
# 输出结果
|
||
print("\n" + "=" * 50)
|
||
print("📊 测试结果汇总")
|
||
print("=" * 50)
|
||
|
||
if add_success and get_success:
|
||
print("🎉 所有测试通过!投资优化记录功能正常!")
|
||
print("\n💡 现在您可以:")
|
||
print(" 1. 在优化历史页面看到投资相关的记录")
|
||
print(" 2. 搜索和筛选投资类型的记录")
|
||
print(" 3. 查看详细的投资策略内容")
|
||
else:
|
||
print("⚠️ 部分测试失败,请检查相关功能")
|
||
|
||
return add_success and get_success
|
||
|
||
if __name__ == '__main__':
|
||
success = main()
|
||
exit(0 if success else 1)
|