FA3-Datafetch/backend/server.log
2026-01-13 20:31:27 +08:00

2967 lines
414 KiB
Plaintext
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

2026-01-11 11:45:47,403 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=23, Msg=正在初始化数据获取..., Progress=0%
2026-01-11 11:45:48,617 - app.services.data_fetcher_service - INFO - 📝 [数据获取] 股票代码格式化: 300750 -> 300750.SZ
2026-01-11 11:45:48,755 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=23, Msg=数据源连接成功, Progress=5%
2026-01-11 11:45:51,074 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=23, Msg=正在获取利润表数据..., Progress=10%
2026-01-11 11:45:52,716 - app.clients.tushare_cn_client - INFO - 🐛 [DEBUG] get_income_statement called with symbol: '300750.SZ'
2026-01-11 11:45:52,716 - app.clients.tushare_cn_client - INFO - 🔍 [Tushare API] 调用 income() 获取利润表, symbol=300750.SZ
2026-01-11 11:45:52,920 - app.clients.tushare_cn_client - INFO - ✅ [Tushare API] income() 完成, 返回 52 行, 耗时: 0.20秒
2026-01-11 11:45:53,990 - app.clients.tushare_cn_client - INFO - ⏭️ [数据库] 表 tushare_income_statement: 跳过 52 条已存在的数据, 准备插入 0 条
2026-01-11 11:45:53,991 - app.clients.tushare_cn_client - INFO - ✅ [数据库] 表 tushare_income_statement: 所有数据已存在,无需更新。
2026-01-11 11:45:53,997 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=23, Msg=利润表获取完成 (40行), Progress=25%
2026-01-11 11:45:54,832 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=23, Msg=正在获取资产负债表数据..., Progress=30%
2026-01-11 11:45:57,983 - app.clients.tushare_cn_client - INFO - 🔍 [Tushare API] 调用 balancesheet() 获取资产负债表, symbol=300750.SZ
2026-01-11 11:45:58,134 - app.clients.tushare_cn_client - INFO - ✅ [Tushare API] balancesheet() 完成, 返回 60 行, 耗时: 0.15秒
2026-01-11 11:45:59,867 - app.clients.tushare_cn_client - INFO - ⏭️ [数据库] 表 tushare_balance_sheet: 跳过 60 条已存在的数据, 准备插入 0 条
2026-01-11 11:45:59,868 - app.clients.tushare_cn_client - INFO - ✅ [数据库] 表 tushare_balance_sheet: 所有数据已存在,无需更新。
2026-01-11 11:45:59,870 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=23, Msg=资产负债表获取完成 (38行), Progress=50%
2026-01-11 11:46:00,962 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=23, Msg=正在获取现金流量表数据..., Progress=55%
2026-01-11 11:46:02,228 - app.clients.tushare_cn_client - INFO - 🔍 [Tushare API] 调用 cashflow() 获取现金流量表, symbol=300750.SZ
2026-01-11 11:46:02,372 - app.clients.tushare_cn_client - INFO - ✅ [Tushare API] cashflow() 完成, 返回 51 行, 耗时: 0.14秒
2026-01-11 11:46:02,731 - app.clients.tushare_cn_client - INFO - ⏭️ [数据库] 表 tushare_cash_flow: 跳过 51 条已存在的数据, 准备插入 0 条
2026-01-11 11:46:02,731 - app.clients.tushare_cn_client - INFO - ✅ [数据库] 表 tushare_cash_flow: 所有数据已存在,无需更新。
2026-01-11 11:46:02,733 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=23, Msg=现金流量表获取完成 (38行), Progress=75%
2026-01-11 11:46:03,939 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=23, Msg=正在获取市场指标..., Progress=78%
2026-01-11 11:46:07,160 - app.clients.tushare_cn_client - INFO - ⏭️ [数据库] 表 tushare_daily_basic: 跳过 1 条已存在的数据, 准备插入 0 条
2026-01-11 11:46:07,160 - app.clients.tushare_cn_client - INFO - ✅ [数据库] 表 tushare_daily_basic: 所有数据已存在,无需更新。
2026-01-11 11:46:09,420 - app.clients.tushare_cn_client - INFO - ⏭️ [数据库] 表 tushare_stock_basic: 跳过 1 条已存在的数据, 准备插入 0 条
2026-01-11 11:46:09,420 - app.clients.tushare_cn_client - INFO - ✅ [数据库] 表 tushare_stock_basic: 所有数据已存在,无需更新。
2026-01-11 11:46:12,553 - app.clients.tushare_cn_client - INFO - ⏭️ [数据库] 表 tushare_stk_holdernumber: 跳过 1 条已存在的数据, 准备插入 0 条
2026-01-11 11:46:12,554 - app.clients.tushare_cn_client - INFO - ✅ [数据库] 表 tushare_stk_holdernumber: 所有数据已存在,无需更新。
2026-01-11 11:46:12,554 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=23, Msg=市场指标获取完成, Progress=85%
2026-01-11 11:46:14,701 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=23, Msg=正在获取分红数据..., Progress=87%
2026-01-11 11:46:17,140 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=23, Msg=正在获取回购数据..., Progress=90%
2026-01-11 11:46:20,568 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=23, Msg=正在获取员工数据..., Progress=93%
2026-01-11 11:46:23,586 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=23, Msg=正在处理统计信息..., Progress=96%
2026-01-11 11:46:25,289 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=23, Msg=数据获取完成, Progress=100%
2026-01-11 11:49:55,669 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=24, Msg=正在初始化数据获取..., Progress=0%
2026-01-11 11:49:58,132 - app.services.data_fetcher_service - INFO - 📝 [数据获取] 股票代码格式化: 300750 -> 300750.SZ
2026-01-11 11:49:58,212 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=24, Msg=数据源连接成功, Progress=5%
2026-01-11 11:49:59,473 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=24, Msg=正在获取利润表数据..., Progress=10%
2026-01-11 11:50:02,031 - app.clients.tushare_cn_client - INFO - 🐛 [DEBUG] get_income_statement called with symbol: '300750.SZ'
2026-01-11 11:50:02,032 - app.clients.tushare_cn_client - INFO - 🔍 [Tushare API] 调用 income() 获取利润表, symbol=300750.SZ
2026-01-11 11:50:02,221 - app.clients.tushare_cn_client - INFO - ✅ [Tushare API] income() 完成, 返回 52 行, 耗时: 0.19秒
2026-01-11 11:50:03,736 - app.clients.tushare_cn_client - INFO - ⏭️ [数据库] 表 tushare_income_statement: 跳过 52 条已存在的数据, 准备插入 0 条
2026-01-11 11:50:03,736 - app.clients.tushare_cn_client - INFO - ✅ [数据库] 表 tushare_income_statement: 所有数据已存在,无需更新。
2026-01-11 11:50:03,742 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=24, Msg=利润表获取完成 (40行), Progress=25%
2026-01-11 11:50:06,644 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=24, Msg=正在获取资产负债表数据..., Progress=30%
2026-01-11 11:50:08,617 - app.clients.tushare_cn_client - INFO - 🔍 [Tushare API] 调用 balancesheet() 获取资产负债表, symbol=300750.SZ
2026-01-11 11:50:08,765 - app.clients.tushare_cn_client - INFO - ✅ [Tushare API] balancesheet() 完成, 返回 60 行, 耗时: 0.15秒
2026-01-11 11:50:33,205 - app.clients.tushare_cn_client - INFO - ⏭️ [数据库] 表 tushare_balance_sheet: 跳过 60 条已存在的数据, 准备插入 0 条
2026-01-11 11:50:33,205 - app.clients.tushare_cn_client - INFO - ✅ [数据库] 表 tushare_balance_sheet: 所有数据已存在,无需更新。
2026-01-11 11:50:33,215 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=24, Msg=资产负债表获取完成 (38行), Progress=50%
2026-01-11 11:50:35,816 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=24, Msg=正在获取现金流量表数据..., Progress=55%
2026-01-11 11:50:37,038 - app.clients.tushare_cn_client - INFO - 🔍 [Tushare API] 调用 cashflow() 获取现金流量表, symbol=300750.SZ
2026-01-11 11:50:37,181 - app.clients.tushare_cn_client - INFO - ✅ [Tushare API] cashflow() 完成, 返回 51 行, 耗时: 0.14秒
2026-01-11 11:50:38,707 - app.clients.tushare_cn_client - INFO - ⏭️ [数据库] 表 tushare_cash_flow: 跳过 51 条已存在的数据, 准备插入 0 条
2026-01-11 11:50:38,707 - app.clients.tushare_cn_client - INFO - ✅ [数据库] 表 tushare_cash_flow: 所有数据已存在,无需更新。
2026-01-11 11:50:38,710 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=24, Msg=现金流量表获取完成 (38行), Progress=75%
2026-01-11 11:50:40,082 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=24, Msg=正在获取市场指标..., Progress=78%
2026-01-11 11:50:43,032 - app.clients.tushare_cn_client - INFO - ⏭️ [数据库] 表 tushare_daily_basic: 跳过 1 条已存在的数据, 准备插入 0 条
2026-01-11 11:50:43,033 - app.clients.tushare_cn_client - INFO - ✅ [数据库] 表 tushare_daily_basic: 所有数据已存在,无需更新。
2026-01-11 11:50:45,200 - app.clients.tushare_cn_client - INFO - ⏭️ [数据库] 表 tushare_stock_basic: 跳过 1 条已存在的数据, 准备插入 0 条
2026-01-11 11:50:45,200 - app.clients.tushare_cn_client - INFO - ✅ [数据库] 表 tushare_stock_basic: 所有数据已存在,无需更新。
2026-01-11 11:50:46,206 - app.clients.tushare_cn_client - INFO - ⏭️ [数据库] 表 tushare_stk_holdernumber: 跳过 1 条已存在的数据, 准备插入 0 条
2026-01-11 11:50:46,206 - app.clients.tushare_cn_client - INFO - ✅ [数据库] 表 tushare_stk_holdernumber: 所有数据已存在,无需更新。
2026-01-11 11:50:46,207 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=24, Msg=市场指标获取完成, Progress=85%
2026-01-11 11:50:48,598 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=24, Msg=正在获取分红数据..., Progress=87%
2026-01-11 11:50:49,811 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=24, Msg=正在获取回购数据..., Progress=90%
2026-01-11 11:50:51,191 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=24, Msg=正在获取员工数据..., Progress=93%
2026-01-11 11:50:56,398 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=24, Msg=正在处理统计信息..., Progress=96%
2026-01-11 11:50:57,709 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=24, Msg=数据获取完成, Progress=100%
2026-01-11 11:51:33,622 - app.main - INFO - 🔍 [搜索] 开始搜索股票: 宁德时代
2026-01-11 11:51:33,804 - app.main - INFO - 🤖 [搜索-LLM] 调用 gemini-3-flash-preview 进行股票搜索
2026-01-11 11:51:33,810 - google_genai.models - INFO - AFC is enabled with max remote calls: 10.
2026-01-11 11:51:44,168 - httpx - INFO - HTTP Request: POST https://generativelanguage.googleapis.com/v1beta/models/gemini-3-flash-preview:generateContent "HTTP/1.1 200 OK"
2026-01-11 11:51:44,204 - app.main - INFO - ✅ [搜索-LLM] 模型响应完成, 耗时: 10.40秒, Tokens: prompt=250, completion=60, total=310
2026-01-11 11:51:44,204 - app.main - INFO - ✅ [搜索] 搜索完成, 找到 2 个结果, 总耗时: 10.58秒
2026-01-11 11:59:04,507 - app.main - INFO - 🔍 [搜索] 开始搜索股票: 宁德时代
2026-01-11 11:59:04,521 - app.main - INFO - 🤖 [搜索-LLM] 调用 gemini-2.0-flash 进行股票搜索
2026-01-11 11:59:04,532 - google_genai.models - INFO - AFC is enabled with max remote calls: 10.
2026-01-11 11:59:08,512 - httpx - INFO - HTTP Request: POST https://generativelanguage.googleapis.com/v1beta/models/gemini-2.0-flash:generateContent "HTTP/1.1 200 OK"
2026-01-11 11:59:08,534 - app.main - INFO - ✅ [搜索-LLM] 模型响应完成, 耗时: 4.01秒, Tokens: prompt=165, completion=85, total=250
2026-01-11 11:59:08,534 - app.main - INFO - ✅ [搜索] 搜索完成, 找到 2 个结果, 总耗时: 4.02秒
2026-01-11 12:00:05,581 - app.main - INFO - 🔍 [搜索] 开始搜索股票: 宁德时代
2026-01-11 12:00:05,589 - app.main - INFO - 🤖 [搜索-LLM] 调用 gemini-2.0-flash 进行股票搜索
2026-01-11 12:00:05,594 - google_genai.models - INFO - AFC is enabled with max remote calls: 10.
2026-01-11 12:00:08,993 - httpx - INFO - HTTP Request: POST https://generativelanguage.googleapis.com/v1beta/models/gemini-2.0-flash:generateContent "HTTP/1.1 200 OK"
2026-01-11 12:00:09,063 - app.main - INFO - ✅ [搜索-LLM] 模型响应完成, 耗时: 3.47秒, Tokens: prompt=165, completion=85, total=250
2026-01-11 12:00:09,063 - app.main - INFO - ✅ [搜索] 搜索完成, 找到 2 个结果, 总耗时: 3.48秒
2026-01-11 12:00:20,238 - app.main - INFO - 🔍 [搜索] 开始搜索股票: 宁德时代
2026-01-11 12:00:20,239 - app.main - INFO - 🤖 [搜索-LLM] 调用 gemini-2.0-flash 进行股票搜索
2026-01-11 12:00:20,240 - google_genai.models - INFO - AFC is enabled with max remote calls: 10.
2026-01-11 12:00:23,618 - httpx - INFO - HTTP Request: POST https://generativelanguage.googleapis.com/v1beta/models/gemini-2.0-flash:generateContent "HTTP/1.1 200 OK"
2026-01-11 12:00:23,645 - app.main - INFO - ✅ [搜索-LLM] 模型响应完成, 耗时: 3.41秒, Tokens: prompt=165, completion=85, total=250
2026-01-11 12:00:23,645 - app.main - INFO - ✅ [搜索] 搜索完成, 找到 2 个结果, 总耗时: 3.41秒
2026-01-11 12:00:43,588 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=25, Msg=正在初始化数据获取..., Progress=0%
2026-01-11 12:00:45,312 - app.services.data_fetcher_service - INFO - 📝 [数据获取] 股票代码格式化: 300750 -> 300750.SZ
2026-01-11 12:00:45,416 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=25, Msg=数据源连接成功, Progress=5%
2026-01-11 12:00:46,272 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=25, Msg=正在获取利润表数据..., Progress=10%
2026-01-11 12:00:46,759 - app.clients.tushare_cn_client - INFO - 🐛 [DEBUG] get_income_statement called with symbol: '300750.SZ'
2026-01-11 12:00:46,759 - app.clients.tushare_cn_client - INFO - 🔍 [Tushare API] 调用 income() 获取利润表, symbol=300750.SZ
2026-01-11 12:00:46,960 - app.clients.tushare_cn_client - INFO - ✅ [Tushare API] income() 完成, 返回 52 行, 耗时: 0.20秒
2026-01-11 12:00:47,759 - app.clients.tushare_cn_client - INFO - ⏭️ [数据库] 表 tushare_income_statement: 跳过 52 条已存在的数据, 准备插入 0 条
2026-01-11 12:00:47,759 - app.clients.tushare_cn_client - INFO - ✅ [数据库] 表 tushare_income_statement: 所有数据已存在,无需更新。
2026-01-11 12:00:47,765 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=25, Msg=利润表获取完成 (40行), Progress=25%
2026-01-11 12:00:48,173 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=25, Msg=正在获取资产负债表数据..., Progress=30%
2026-01-11 12:00:49,036 - app.clients.tushare_cn_client - INFO - 🔍 [Tushare API] 调用 balancesheet() 获取资产负债表, symbol=300750.SZ
2026-01-11 12:00:49,197 - app.clients.tushare_cn_client - INFO - ✅ [Tushare API] balancesheet() 完成, 返回 60 行, 耗时: 0.16秒
2026-01-11 12:00:49,900 - app.clients.tushare_cn_client - INFO - ⏭️ [数据库] 表 tushare_balance_sheet: 跳过 60 条已存在的数据, 准备插入 0 条
2026-01-11 12:00:49,900 - app.clients.tushare_cn_client - INFO - ✅ [数据库] 表 tushare_balance_sheet: 所有数据已存在,无需更新。
2026-01-11 12:00:49,902 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=25, Msg=资产负债表获取完成 (38行), Progress=50%
2026-01-11 12:00:50,620 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=25, Msg=正在获取现金流量表数据..., Progress=55%
2026-01-11 12:00:51,395 - app.clients.tushare_cn_client - INFO - 🔍 [Tushare API] 调用 cashflow() 获取现金流量表, symbol=300750.SZ
2026-01-11 12:00:51,535 - app.clients.tushare_cn_client - INFO - ✅ [Tushare API] cashflow() 完成, 返回 51 行, 耗时: 0.14秒
2026-01-11 12:00:52,356 - app.clients.tushare_cn_client - INFO - ⏭️ [数据库] 表 tushare_cash_flow: 跳过 51 条已存在的数据, 准备插入 0 条
2026-01-11 12:00:52,357 - app.clients.tushare_cn_client - INFO - ✅ [数据库] 表 tushare_cash_flow: 所有数据已存在,无需更新。
2026-01-11 12:00:52,359 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=25, Msg=现金流量表获取完成 (38行), Progress=75%
2026-01-11 12:00:52,655 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=25, Msg=正在获取市场指标..., Progress=78%
2026-01-11 12:00:54,258 - app.clients.tushare_cn_client - INFO - ⏭️ [数据库] 表 tushare_daily_basic: 跳过 1 条已存在的数据, 准备插入 0 条
2026-01-11 12:00:54,259 - app.clients.tushare_cn_client - INFO - ✅ [数据库] 表 tushare_daily_basic: 所有数据已存在,无需更新。
2026-01-11 12:00:55,302 - app.clients.tushare_cn_client - INFO - ⏭️ [数据库] 表 tushare_stock_basic: 跳过 1 条已存在的数据, 准备插入 0 条
2026-01-11 12:00:55,302 - app.clients.tushare_cn_client - INFO - ✅ [数据库] 表 tushare_stock_basic: 所有数据已存在,无需更新。
2026-01-11 12:00:57,229 - app.clients.tushare_cn_client - INFO - ⏭️ [数据库] 表 tushare_stk_holdernumber: 跳过 1 条已存在的数据, 准备插入 0 条
2026-01-11 12:00:57,230 - app.clients.tushare_cn_client - INFO - ✅ [数据库] 表 tushare_stk_holdernumber: 所有数据已存在,无需更新。
2026-01-11 12:00:57,230 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=25, Msg=市场指标获取完成, Progress=85%
2026-01-11 12:01:04,175 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=25, Msg=正在获取分红数据..., Progress=87%
2026-01-11 12:01:07,425 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=25, Msg=正在获取回购数据..., Progress=90%
2026-01-11 12:01:09,285 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=25, Msg=正在获取员工数据..., Progress=93%
2026-01-11 12:01:11,661 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=25, Msg=正在处理统计信息..., Progress=96%
2026-01-11 12:01:12,931 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=25, Msg=数据获取完成, Progress=100%
2026-01-11 12:03:25,453 - app.main - INFO - 🔍 [搜索] 开始搜索股票: 宁德时代
2026-01-11 12:03:25,463 - app.main - INFO - 🤖 [搜索-LLM] 调用 gemini-2.0-flash 进行股票搜索
2026-01-11 12:03:25,469 - google_genai.models - INFO - AFC is enabled with max remote calls: 10.
2026-01-11 12:03:28,867 - httpx - INFO - HTTP Request: POST https://generativelanguage.googleapis.com/v1beta/models/gemini-2.0-flash:generateContent "HTTP/1.1 200 OK"
2026-01-11 12:03:28,937 - app.main - INFO - ✅ [搜索-LLM] 模型响应完成, 耗时: 3.47秒, Tokens: prompt=165, completion=85, total=250
2026-01-11 12:03:28,938 - app.main - INFO - ✅ [搜索] 搜索完成, 找到 2 个结果, 总耗时: 3.48秒
2026-01-11 12:03:36,309 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=26, Msg=正在初始化数据获取..., Progress=0%
2026-01-11 12:03:37,044 - app.services.data_fetcher_service - INFO - 📝 [数据获取] 股票代码格式化: 300750 -> 300750.SZ
2026-01-11 12:03:37,099 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=26, Msg=数据源连接成功, Progress=5%
2026-01-11 12:03:38,169 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=26, Msg=正在获取利润表数据..., Progress=10%
2026-01-11 12:03:39,085 - app.clients.tushare_cn_client - INFO - 🐛 [DEBUG] get_income_statement called with symbol: '300750.SZ'
2026-01-11 12:03:39,085 - app.clients.tushare_cn_client - INFO - 🔍 [Tushare API] 调用 income() 获取利润表, symbol=300750.SZ
2026-01-11 12:03:39,345 - app.clients.tushare_cn_client - INFO - ✅ [Tushare API] income() 完成, 返回 52 行, 耗时: 0.26秒
2026-01-11 12:03:39,864 - app.clients.tushare_cn_client - INFO - ⏭️ [数据库] 表 tushare_income_statement: 跳过 52 条已存在的数据, 准备插入 0 条
2026-01-11 12:03:39,864 - app.clients.tushare_cn_client - INFO - ✅ [数据库] 表 tushare_income_statement: 所有数据已存在,无需更新。
2026-01-11 12:03:39,874 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=26, Msg=利润表获取完成 (40行), Progress=25%
2026-01-11 12:03:40,581 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=26, Msg=正在获取资产负债表数据..., Progress=30%
2026-01-11 12:03:42,076 - app.clients.tushare_cn_client - INFO - 🔍 [Tushare API] 调用 balancesheet() 获取资产负债表, symbol=300750.SZ
2026-01-11 12:03:42,245 - app.clients.tushare_cn_client - INFO - ✅ [Tushare API] balancesheet() 完成, 返回 60 行, 耗时: 0.16秒
2026-01-11 12:03:43,042 - app.clients.tushare_cn_client - INFO - ⏭️ [数据库] 表 tushare_balance_sheet: 跳过 60 条已存在的数据, 准备插入 0 条
2026-01-11 12:03:43,043 - app.clients.tushare_cn_client - INFO - ✅ [数据库] 表 tushare_balance_sheet: 所有数据已存在,无需更新。
2026-01-11 12:03:43,046 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=26, Msg=资产负债表获取完成 (38行), Progress=50%
2026-01-11 12:03:44,648 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=26, Msg=正在获取现金流量表数据..., Progress=55%
2026-01-11 12:03:45,386 - app.clients.tushare_cn_client - INFO - 🔍 [Tushare API] 调用 cashflow() 获取现金流量表, symbol=300750.SZ
2026-01-11 12:03:45,535 - app.clients.tushare_cn_client - INFO - ✅ [Tushare API] cashflow() 完成, 返回 51 行, 耗时: 0.15秒
2026-01-11 12:03:46,986 - app.clients.tushare_cn_client - INFO - ⏭️ [数据库] 表 tushare_cash_flow: 跳过 51 条已存在的数据, 准备插入 0 条
2026-01-11 12:03:46,986 - app.clients.tushare_cn_client - INFO - ✅ [数据库] 表 tushare_cash_flow: 所有数据已存在,无需更新。
2026-01-11 12:03:46,988 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=26, Msg=现金流量表获取完成 (38行), Progress=75%
2026-01-11 12:03:47,888 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=26, Msg=正在获取市场指标..., Progress=78%
2026-01-11 12:03:51,744 - app.clients.tushare_cn_client - INFO - ⏭️ [数据库] 表 tushare_daily_basic: 跳过 1 条已存在的数据, 准备插入 0 条
2026-01-11 12:03:51,745 - app.clients.tushare_cn_client - INFO - ✅ [数据库] 表 tushare_daily_basic: 所有数据已存在,无需更新。
2026-01-11 12:03:52,685 - app.clients.tushare_cn_client - INFO - ⏭️ [数据库] 表 tushare_stock_basic: 跳过 1 条已存在的数据, 准备插入 0 条
2026-01-11 12:03:52,688 - app.clients.tushare_cn_client - INFO - ✅ [数据库] 表 tushare_stock_basic: 所有数据已存在,无需更新。
2026-01-11 12:03:53,710 - app.clients.tushare_cn_client - INFO - ⏭️ [数据库] 表 tushare_stk_holdernumber: 跳过 1 条已存在的数据, 准备插入 0 条
2026-01-11 12:03:53,711 - app.clients.tushare_cn_client - INFO - ✅ [数据库] 表 tushare_stk_holdernumber: 所有数据已存在,无需更新。
2026-01-11 12:03:53,711 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=26, Msg=市场指标获取完成, Progress=85%
2026-01-11 12:03:55,031 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=26, Msg=正在获取分红数据..., Progress=87%
2026-01-11 12:03:55,940 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=26, Msg=正在获取回购数据..., Progress=90%
2026-01-11 12:03:56,705 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=26, Msg=正在获取员工数据..., Progress=93%
2026-01-11 12:04:00,239 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=26, Msg=正在处理统计信息..., Progress=96%
2026-01-11 12:04:01,129 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=26, Msg=数据获取完成, Progress=100%
2026-01-11 12:57:47,122 - app.main - INFO - 🔍 [搜索] 开始搜索股票: AAPL
2026-01-11 12:57:47,263 - app.main - INFO - 🤖 [搜索-LLM] 调用 gemini-2.5-flash 进行股票搜索
2026-01-11 12:57:47,264 - google_genai.models - INFO - AFC is enabled with max remote calls: 10.
2026-01-11 12:57:51,593 - httpx - INFO - HTTP Request: POST https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash:generateContent "HTTP/1.1 200 OK"
2026-01-11 12:57:51,620 - app.main - INFO - ✅ [搜索-LLM] 模型响应完成, 耗时: 4.36秒, Tokens: prompt=164, completion=62, total=226
2026-01-11 12:57:51,620 - app.main - INFO - ✅ [搜索] 搜索完成, 找到 1 个结果, 总耗时: 4.50秒
2026-01-11 12:58:04,131 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=27, Msg=正在初始化数据获取..., Progress=0%
2026-01-11 12:58:05,427 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=27, Msg=数据源连接成功, Progress=5%
2026-01-11 12:58:06,418 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=27, Msg=正在获取利润表数据..., Progress=10%
2026-01-11 12:58:10,730 - app.clients.ifind_int_client - ERROR - Error saving to ifind_int_income_statement: value too long for type character varying(8)
Traceback (most recent call last):
File "/Users/xucheng/git.qubit.ltd/FA3/backend/app/clients/ifind_int_client.py", line 156, in _save_df_to_wide_table
cur.executemany(insert_sql, data_tuples)
~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^
psycopg2.errors.StringDataRightTruncation: value too long for type character varying(8)
2026-01-11 12:58:10,783 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=27, Msg=利润表获取完成 (5行), Progress=25%
2026-01-11 12:58:11,387 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=27, Msg=正在获取资产负债表数据..., Progress=30%
2026-01-11 12:58:14,923 - app.clients.ifind_int_client - ERROR - Error saving to ifind_int_balance_sheet: value too long for type character varying(8)
Traceback (most recent call last):
File "/Users/xucheng/git.qubit.ltd/FA3/backend/app/clients/ifind_int_client.py", line 156, in _save_df_to_wide_table
cur.executemany(insert_sql, data_tuples)
~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^
psycopg2.errors.StringDataRightTruncation: value too long for type character varying(8)
2026-01-11 12:58:14,958 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=27, Msg=资产负债表获取完成 (5行), Progress=50%
2026-01-11 12:58:15,598 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=27, Msg=正在获取现金流量表数据..., Progress=55%
2026-01-11 12:58:19,119 - app.clients.ifind_int_client - ERROR - Error saving to ifind_int_cash_flow: value too long for type character varying(8)
Traceback (most recent call last):
File "/Users/xucheng/git.qubit.ltd/FA3/backend/app/clients/ifind_int_client.py", line 156, in _save_df_to_wide_table
cur.executemany(insert_sql, data_tuples)
~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^
psycopg2.errors.StringDataRightTruncation: value too long for type character varying(8)
2026-01-11 12:58:19,153 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=27, Msg=现金流量表获取完成 (5行), Progress=75%
2026-01-11 12:58:20,237 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=27, Msg=正在获取市场指标..., Progress=78%
2026-01-11 12:58:22,585 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=27, Msg=市场指标获取完成, Progress=85%
2026-01-11 12:58:23,290 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=27, Msg=正在获取分红数据..., Progress=87%
2026-01-11 12:58:24,959 - app.clients.ifind_int_client - ERROR - Error saving to ifind_int_dividend: value too long for type character varying(8)
Traceback (most recent call last):
File "/Users/xucheng/git.qubit.ltd/FA3/backend/app/clients/ifind_int_client.py", line 156, in _save_df_to_wide_table
cur.executemany(insert_sql, data_tuples)
~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^
psycopg2.errors.StringDataRightTruncation: value too long for type character varying(8)
2026-01-11 12:58:25,912 - app.clients.ifind_int_client - ERROR - Error saving to ifind_int_dividend: value too long for type character varying(8)
Traceback (most recent call last):
File "/Users/xucheng/git.qubit.ltd/FA3/backend/app/clients/ifind_int_client.py", line 156, in _save_df_to_wide_table
cur.executemany(insert_sql, data_tuples)
~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^
psycopg2.errors.StringDataRightTruncation: value too long for type character varying(8)
2026-01-11 12:58:26,840 - app.clients.ifind_int_client - ERROR - Error saving to ifind_int_dividend: value too long for type character varying(8)
Traceback (most recent call last):
File "/Users/xucheng/git.qubit.ltd/FA3/backend/app/clients/ifind_int_client.py", line 156, in _save_df_to_wide_table
cur.executemany(insert_sql, data_tuples)
~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^
psycopg2.errors.StringDataRightTruncation: value too long for type character varying(8)
2026-01-11 12:58:27,590 - app.clients.ifind_int_client - ERROR - Error saving to ifind_int_dividend: value too long for type character varying(8)
Traceback (most recent call last):
File "/Users/xucheng/git.qubit.ltd/FA3/backend/app/clients/ifind_int_client.py", line 156, in _save_df_to_wide_table
cur.executemany(insert_sql, data_tuples)
~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^
psycopg2.errors.StringDataRightTruncation: value too long for type character varying(8)
2026-01-11 12:58:29,663 - app.clients.ifind_int_client - ERROR - Error saving to ifind_int_dividend: value too long for type character varying(8)
Traceback (most recent call last):
File "/Users/xucheng/git.qubit.ltd/FA3/backend/app/clients/ifind_int_client.py", line 156, in _save_df_to_wide_table
cur.executemany(insert_sql, data_tuples)
~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^
psycopg2.errors.StringDataRightTruncation: value too long for type character varying(8)
2026-01-11 12:58:29,696 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=27, Msg=正在获取回购数据..., Progress=90%
2026-01-11 12:58:33,767 - app.clients.ifind_int_client - ERROR - Error saving to ifind_int_repurchase: value too long for type character varying(8)
Traceback (most recent call last):
File "/Users/xucheng/git.qubit.ltd/FA3/backend/app/clients/ifind_int_client.py", line 156, in _save_df_to_wide_table
cur.executemany(insert_sql, data_tuples)
~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^
psycopg2.errors.StringDataRightTruncation: value too long for type character varying(8)
2026-01-11 12:58:35,802 - app.clients.ifind_int_client - ERROR - Error saving to ifind_int_repurchase: value too long for type character varying(8)
Traceback (most recent call last):
File "/Users/xucheng/git.qubit.ltd/FA3/backend/app/clients/ifind_int_client.py", line 156, in _save_df_to_wide_table
cur.executemany(insert_sql, data_tuples)
~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^
psycopg2.errors.StringDataRightTruncation: value too long for type character varying(8)
2026-01-11 12:58:36,947 - app.clients.ifind_int_client - ERROR - Error saving to ifind_int_repurchase: value too long for type character varying(8)
Traceback (most recent call last):
File "/Users/xucheng/git.qubit.ltd/FA3/backend/app/clients/ifind_int_client.py", line 156, in _save_df_to_wide_table
cur.executemany(insert_sql, data_tuples)
~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^
psycopg2.errors.StringDataRightTruncation: value too long for type character varying(8)
2026-01-11 12:58:37,937 - app.clients.ifind_int_client - ERROR - Error saving to ifind_int_repurchase: value too long for type character varying(8)
Traceback (most recent call last):
File "/Users/xucheng/git.qubit.ltd/FA3/backend/app/clients/ifind_int_client.py", line 156, in _save_df_to_wide_table
cur.executemany(insert_sql, data_tuples)
~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^
psycopg2.errors.StringDataRightTruncation: value too long for type character varying(8)
2026-01-11 12:58:38,590 - app.clients.ifind_int_client - ERROR - Error saving to ifind_int_repurchase: value too long for type character varying(8)
Traceback (most recent call last):
File "/Users/xucheng/git.qubit.ltd/FA3/backend/app/clients/ifind_int_client.py", line 156, in _save_df_to_wide_table
cur.executemany(insert_sql, data_tuples)
~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^
psycopg2.errors.StringDataRightTruncation: value too long for type character varying(8)
2026-01-11 12:58:38,781 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=27, Msg=正在获取员工数据..., Progress=93%
2026-01-11 12:58:40,017 - app.clients.ifind_int_client - ERROR - Error saving to ifind_int_employee: value too long for type character varying(8)
Traceback (most recent call last):
File "/Users/xucheng/git.qubit.ltd/FA3/backend/app/clients/ifind_int_client.py", line 156, in _save_df_to_wide_table
cur.executemany(insert_sql, data_tuples)
~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^
psycopg2.errors.StringDataRightTruncation: value too long for type character varying(8)
2026-01-11 12:58:41,200 - app.clients.ifind_int_client - ERROR - Error saving to ifind_int_employee: value too long for type character varying(8)
Traceback (most recent call last):
File "/Users/xucheng/git.qubit.ltd/FA3/backend/app/clients/ifind_int_client.py", line 156, in _save_df_to_wide_table
cur.executemany(insert_sql, data_tuples)
~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^
psycopg2.errors.StringDataRightTruncation: value too long for type character varying(8)
2026-01-11 12:58:42,108 - app.clients.ifind_int_client - ERROR - Error saving to ifind_int_employee: value too long for type character varying(8)
Traceback (most recent call last):
File "/Users/xucheng/git.qubit.ltd/FA3/backend/app/clients/ifind_int_client.py", line 156, in _save_df_to_wide_table
cur.executemany(insert_sql, data_tuples)
~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^
psycopg2.errors.StringDataRightTruncation: value too long for type character varying(8)
2026-01-11 12:58:43,013 - app.clients.ifind_int_client - ERROR - Error saving to ifind_int_employee: value too long for type character varying(8)
Traceback (most recent call last):
File "/Users/xucheng/git.qubit.ltd/FA3/backend/app/clients/ifind_int_client.py", line 156, in _save_df_to_wide_table
cur.executemany(insert_sql, data_tuples)
~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^
psycopg2.errors.StringDataRightTruncation: value too long for type character varying(8)
2026-01-11 12:58:45,127 - app.clients.ifind_int_client - ERROR - Error saving to ifind_int_employee: value too long for type character varying(8)
Traceback (most recent call last):
File "/Users/xucheng/git.qubit.ltd/FA3/backend/app/clients/ifind_int_client.py", line 156, in _save_df_to_wide_table
cur.executemany(insert_sql, data_tuples)
~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^
psycopg2.errors.StringDataRightTruncation: value too long for type character varying(8)
2026-01-11 12:58:45,164 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=27, Msg=正在处理统计信息..., Progress=96%
2026-01-11 12:58:45,774 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=27, Msg=数据获取完成, Progress=100%
2026-01-11 12:59:04,411 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=28, Msg=正在初始化数据获取..., Progress=0%
2026-01-11 12:59:06,455 - app.clients.bloomberg_client - INFO - Connecting to Jupyter at http://192.168.3.161:8888...
2026-01-11 12:59:12,657 - app.clients.bloomberg_client - INFO - ✅ Authentication successful.
2026-01-11 12:59:12,690 - app.clients.bloomberg_client - INFO - ✅ Found existing kernel: bc27f3b1-b028-434a-99fa-c1cad4495a87 (remote_env)
2026-01-11 12:59:13,757 - app.clients.bloomberg_client - INFO - ✅ WebSocket connected.
2026-01-11 12:59:13,757 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=28, Msg=数据源连接成功, Progress=5%
2026-01-11 12:59:14,539 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=28, Msg=正在获取利润表数据..., Progress=10%
2026-01-11 12:59:15,392 - app.clients.bloomberg_client - INFO - 🚀 Starting fetch for: AAPL US Equity
2026-01-11 12:59:15,430 - app.clients.bloomberg_client - INFO - Fetching Basic Data...
2026-01-11 12:59:17,871 - app.clients.bloomberg_client - INFO - Using currency: USD
2026-01-11 12:59:17,871 - app.clients.bloomberg_client - INFO - Fetching Currency Data...
2026-01-11 12:59:45,670 - app.clients.bloomberg_client - INFO - Fetching Non-Currency Data...
2026-01-11 12:59:46,262 - app.clients.bloomberg_client - INFO - Fetching Price Data...
2026-01-11 12:59:51,668 - app.clients.bloomberg_client - INFO - ✅ Cleanup and View Refresh completed.
2026-01-11 12:59:51,669 - app.clients.bloomberg_client - INFO - ✅ Completed processing for AAPL US Equity
2026-01-11 12:59:52,369 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=28, Msg=利润表获取完成 (10行), Progress=25%
2026-01-11 12:59:54,510 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=28, Msg=正在获取资产负债表数据..., Progress=30%
2026-01-11 12:59:55,811 - app.clients.bloomberg_client - INFO - 🚀 Starting fetch for: AAPL US Equity
2026-01-11 12:59:56,051 - app.clients.bloomberg_client - INFO - Fetching Basic Data...
2026-01-11 12:59:58,039 - app.clients.bloomberg_client - INFO - Using currency: USD
2026-01-11 12:59:58,040 - app.clients.bloomberg_client - INFO - Fetching Currency Data...
2026-01-11 13:00:22,167 - app.clients.bloomberg_client - INFO - Fetching Non-Currency Data...
2026-01-11 13:00:22,817 - app.clients.bloomberg_client - INFO - Fetching Price Data...
2026-01-11 13:00:30,258 - app.clients.bloomberg_client - INFO - ✅ Cleanup and View Refresh completed.
2026-01-11 13:00:30,261 - app.clients.bloomberg_client - INFO - ✅ Completed processing for AAPL US Equity
2026-01-11 13:00:31,488 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=28, Msg=资产负债表获取完成 (10行), Progress=50%
2026-01-11 13:00:32,114 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=28, Msg=正在获取现金流量表数据..., Progress=55%
2026-01-11 13:00:32,800 - app.clients.bloomberg_client - INFO - 🚀 Starting fetch for: AAPL US Equity
2026-01-11 13:00:32,834 - app.clients.bloomberg_client - INFO - Fetching Basic Data...
2026-01-11 13:00:35,564 - app.clients.bloomberg_client - INFO - Using currency: USD
2026-01-11 13:00:35,564 - app.clients.bloomberg_client - INFO - Fetching Currency Data...
2026-01-11 13:00:57,471 - app.clients.bloomberg_client - INFO - Fetching Non-Currency Data...
2026-01-11 13:00:59,099 - app.clients.bloomberg_client - INFO - Fetching Price Data...
2026-01-11 13:01:03,826 - app.clients.bloomberg_client - INFO - ✅ Cleanup and View Refresh completed.
2026-01-11 13:01:03,827 - app.clients.bloomberg_client - INFO - ✅ Completed processing for AAPL US Equity
2026-01-11 13:01:04,098 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=28, Msg=现金流量表获取完成 (10行), Progress=75%
2026-01-11 13:01:06,609 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=28, Msg=正在获取市场指标..., Progress=78%
2026-01-11 13:01:07,384 - app.clients.bloomberg_client - INFO - 🚀 Starting fetch for: AAPL US Equity
2026-01-11 13:01:07,420 - app.clients.bloomberg_client - INFO - Fetching Basic Data...
2026-01-11 13:01:11,057 - app.clients.bloomberg_client - INFO - Using currency: USD
2026-01-11 13:01:11,058 - app.clients.bloomberg_client - INFO - Fetching Currency Data...
2026-01-11 13:01:39,585 - app.clients.bloomberg_client - INFO - Fetching Non-Currency Data...
2026-01-11 13:01:40,508 - app.clients.bloomberg_client - INFO - Fetching Price Data...
2026-01-11 13:01:45,091 - app.clients.bloomberg_client - INFO - ✅ Cleanup and View Refresh completed.
2026-01-11 13:01:45,091 - app.clients.bloomberg_client - INFO - ✅ Completed processing for AAPL US Equity
2026-01-11 13:01:45,573 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=28, Msg=市场指标获取完成, Progress=85%
2026-01-11 13:01:48,482 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=28, Msg=正在获取分红数据..., Progress=87%
2026-01-11 13:01:49,509 - app.clients.bloomberg_client - INFO - 🚀 Starting fetch for: AAPL US Equity
2026-01-11 13:01:49,571 - app.clients.bloomberg_client - INFO - Fetching Basic Data...
2026-01-11 13:01:53,489 - app.clients.bloomberg_client - INFO - Using currency: USD
2026-01-11 13:01:53,489 - app.clients.bloomberg_client - INFO - Fetching Currency Data...
2026-01-11 13:02:16,423 - app.clients.bloomberg_client - INFO - Fetching Non-Currency Data...
2026-01-11 13:02:17,466 - app.clients.bloomberg_client - INFO - Fetching Price Data...
2026-01-11 13:02:23,914 - app.clients.bloomberg_client - INFO - ✅ Cleanup and View Refresh completed.
2026-01-11 13:02:23,922 - app.clients.bloomberg_client - INFO - ✅ Completed processing for AAPL US Equity
2026-01-11 13:02:27,017 - app.clients.bloomberg_client - INFO - 🚀 Starting fetch for: AAPL US Equity
2026-01-11 13:02:27,139 - app.clients.bloomberg_client - INFO - Fetching Basic Data...
2026-01-11 13:02:29,506 - app.clients.bloomberg_client - INFO - Using currency: USD
2026-01-11 13:02:29,506 - app.clients.bloomberg_client - INFO - Fetching Currency Data...
2026-01-11 13:02:53,208 - app.clients.bloomberg_client - INFO - Fetching Non-Currency Data...
2026-01-11 13:02:53,770 - app.clients.bloomberg_client - INFO - Fetching Price Data...
2026-01-11 13:02:58,094 - app.clients.bloomberg_client - INFO - ✅ Cleanup and View Refresh completed.
2026-01-11 13:02:58,095 - app.clients.bloomberg_client - INFO - ✅ Completed processing for AAPL US Equity
2026-01-11 13:02:59,289 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=28, Msg=正在获取回购数据..., Progress=90%
2026-01-11 13:03:00,718 - app.clients.bloomberg_client - INFO - 🚀 Starting fetch for: AAPL US Equity
2026-01-11 13:03:00,780 - app.clients.bloomberg_client - INFO - Fetching Basic Data...
2026-01-11 13:03:03,616 - app.clients.bloomberg_client - INFO - Using currency: USD
2026-01-11 13:03:03,617 - app.clients.bloomberg_client - INFO - Fetching Currency Data...
2026-01-11 13:03:22,678 - app.clients.bloomberg_client - INFO - Fetching Non-Currency Data...
2026-01-11 13:03:24,109 - app.clients.bloomberg_client - INFO - Fetching Price Data...
2026-01-11 13:03:28,398 - app.clients.bloomberg_client - INFO - ✅ Cleanup and View Refresh completed.
2026-01-11 13:03:28,399 - app.clients.bloomberg_client - INFO - ✅ Completed processing for AAPL US Equity
2026-01-11 13:03:29,011 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=28, Msg=正在获取员工数据..., Progress=93%
2026-01-11 13:03:32,157 - app.clients.bloomberg_client - INFO - 🚀 Starting fetch for: AAPL US Equity
2026-01-11 13:03:32,313 - app.clients.bloomberg_client - INFO - Fetching Basic Data...
2026-01-11 13:03:35,432 - app.clients.bloomberg_client - INFO - Using currency: USD
2026-01-11 13:03:35,433 - app.clients.bloomberg_client - INFO - Fetching Currency Data...
2026-01-11 13:04:06,049 - app.clients.bloomberg_client - INFO - Fetching Non-Currency Data...
2026-01-11 13:04:42,105 - app.clients.bloomberg_client - INFO - Fetching Price Data...
2026-01-11 13:04:47,812 - app.clients.bloomberg_client - INFO - ✅ Cleanup and View Refresh completed.
2026-01-11 13:04:47,812 - app.clients.bloomberg_client - INFO - ✅ Completed processing for AAPL US Equity
2026-01-11 13:04:48,709 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=28, Msg=正在处理统计信息..., Progress=96%
2026-01-11 13:04:49,804 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=28, Msg=数据获取完成, Progress=100%
2026-01-11 13:10:32,945 - app.main - INFO - 🔍 [搜索] 开始搜索股票: 苹果公司
2026-01-11 13:10:33,006 - app.main - INFO - 🤖 [搜索-LLM] 调用 gemini-2.0-flash 进行股票搜索
2026-01-11 13:10:33,007 - google_genai.models - INFO - AFC is enabled with max remote calls: 10.
2026-01-11 13:10:36,067 - httpx - INFO - HTTP Request: POST https://generativelanguage.googleapis.com/v1beta/models/gemini-2.0-flash:generateContent "HTTP/1.1 200 OK"
2026-01-11 13:10:36,250 - app.main - INFO - ✅ [搜索-LLM] 模型响应完成, 耗时: 3.24秒, Tokens: prompt=164, completion=41, total=205
2026-01-11 13:10:36,250 - app.main - INFO - ✅ [搜索] 搜索完成, 找到 1 个结果, 总耗时: 3.30秒
2026-01-11 13:10:43,800 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=29, Msg=正在初始化数据获取..., Progress=0%
2026-01-11 13:10:44,625 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=29, Msg=数据源连接成功, Progress=5%
2026-01-11 13:10:45,570 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=29, Msg=正在获取利润表数据..., Progress=10%
2026-01-11 13:10:48,599 - app.clients.ifind_int_client - INFO - 🆕 [Database] Creating table ifind_int_income_statement...
2026-01-11 13:10:49,088 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=29, Msg=利润表获取完成 (5行), Progress=25%
2026-01-11 13:10:49,377 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=29, Msg=正在获取资产负债表数据..., Progress=30%
2026-01-11 13:10:51,567 - app.clients.ifind_int_client - INFO - 🆕 [Database] Creating table ifind_int_balance_sheet...
2026-01-11 13:10:52,644 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=29, Msg=资产负债表获取完成 (5行), Progress=50%
2026-01-11 13:10:53,802 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=29, Msg=正在获取现金流量表数据..., Progress=55%
2026-01-11 13:10:56,542 - app.clients.ifind_int_client - INFO - 🆕 [Database] Creating table ifind_int_cash_flow...
2026-01-11 13:10:57,461 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=29, Msg=现金流量表获取完成 (5行), Progress=75%
2026-01-11 13:10:58,068 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=29, Msg=正在获取市场指标..., Progress=78%
2026-01-11 13:11:00,709 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=29, Msg=市场指标获取完成, Progress=85%
2026-01-11 13:11:01,969 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=29, Msg=正在获取分红数据..., Progress=87%
2026-01-11 13:11:04,053 - app.clients.ifind_int_client - INFO - 🆕 [Database] Creating table ifind_int_dividend...
2026-01-11 13:11:10,496 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=29, Msg=正在获取回购数据..., Progress=90%
2026-01-11 13:11:13,407 - app.clients.ifind_int_client - INFO - 🆕 [Database] Creating table ifind_int_repurchase...
2026-01-11 13:11:17,482 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=29, Msg=正在获取员工数据..., Progress=93%
2026-01-11 13:11:18,914 - app.clients.ifind_int_client - INFO - 🆕 [Database] Creating table ifind_int_employee...
2026-01-11 13:11:25,165 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=29, Msg=正在处理统计信息..., Progress=96%
2026-01-11 13:11:26,011 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=29, Msg=数据获取完成, Progress=100%
2026-01-11 13:12:03,786 - app.main - INFO - 🔍 [搜索] 开始搜索股票: 苹果公司
2026-01-11 13:12:03,792 - app.main - INFO - 🤖 [搜索-LLM] 调用 gemini-3-flash-preview 进行股票搜索
2026-01-11 13:12:03,794 - google_genai.models - INFO - AFC is enabled with max remote calls: 10.
2026-01-11 13:12:08,779 - httpx - INFO - HTTP Request: POST https://generativelanguage.googleapis.com/v1beta/models/gemini-3-flash-preview:generateContent "HTTP/1.1 200 OK"
2026-01-11 13:12:08,792 - app.main - INFO - ✅ [搜索-LLM] 模型响应完成, 耗时: 5.00秒, Tokens: prompt=297, completion=23, total=320
2026-01-11 13:12:08,792 - app.main - INFO - ✅ [搜索] 搜索完成, 找到 1 个结果, 总耗时: 5.00秒
2026-01-11 13:12:36,444 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=30, Msg=正在初始化数据获取..., Progress=0%
2026-01-11 13:12:38,125 - app.clients.bloomberg_client - INFO - Connecting to Jupyter at http://192.168.3.161:8888...
2026-01-11 13:12:39,910 - app.clients.bloomberg_client - INFO - ✅ Authentication successful.
2026-01-11 13:12:40,145 - app.clients.bloomberg_client - INFO - ✅ Found existing kernel: bc27f3b1-b028-434a-99fa-c1cad4495a87 (remote_env)
2026-01-11 13:12:40,693 - app.clients.bloomberg_client - INFO - ✅ WebSocket connected.
2026-01-11 13:12:40,693 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=30, Msg=数据源连接成功, Progress=5%
2026-01-11 13:12:41,767 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=30, Msg=正在获取利润表数据..., Progress=10%
2026-01-11 13:12:43,203 - app.clients.bloomberg_client - INFO - 🚀 Starting fetch for: AAPL US Equity
2026-01-11 13:12:43,382 - app.clients.bloomberg_client - INFO - Fetching Basic Data...
2026-01-11 13:12:44,634 - app.clients.bloomberg_client - INFO - ✅ Parsed 2 items from remote.
2026-01-11 13:12:46,618 - app.clients.bloomberg_client - INFO - ✅ Saved 2 records to database.
2026-01-11 13:12:46,622 - app.clients.bloomberg_client - INFO - Using currency: USD
2026-01-11 13:12:46,622 - app.clients.bloomberg_client - INFO - Fetching Currency Data...
2026-01-11 13:12:47,254 - app.clients.bloomberg_client - INFO - ✅ Parsed 220 items from remote.
2026-01-11 13:13:05,304 - app.clients.bloomberg_client - INFO - ✅ Saved 220 records to database.
2026-01-11 13:13:05,307 - app.clients.bloomberg_client - INFO - Fetching Non-Currency Data...
2026-01-11 13:13:05,878 - app.clients.bloomberg_client - INFO - ✅ Parsed 0 items from remote.
2026-01-11 13:13:05,878 - app.clients.bloomberg_client - INFO - Fetching Price Data...
2026-01-11 13:13:07,612 - app.clients.bloomberg_client - INFO - ✅ Parsed 20 items from remote.
2026-01-11 13:13:11,123 - app.clients.bloomberg_client - INFO - ✅ Saved 20 records to database.
2026-01-11 13:13:12,009 - app.clients.bloomberg_client - INFO - ✅ Cleanup and View Refresh completed.
2026-01-11 13:13:12,010 - app.clients.bloomberg_client - INFO - ✅ Completed processing for AAPL US Equity
2026-01-11 13:13:12,566 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=30, Msg=利润表获取完成 (10行), Progress=25%
2026-01-11 13:13:14,432 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=30, Msg=正在获取资产负债表数据..., Progress=30%
2026-01-11 13:13:15,988 - app.clients.bloomberg_client - INFO - 🚀 Starting fetch for: AAPL US Equity
2026-01-11 13:13:16,083 - app.clients.bloomberg_client - INFO - Fetching Basic Data...
2026-01-11 13:13:17,200 - app.clients.bloomberg_client - INFO - ✅ Parsed 2 items from remote.
2026-01-11 13:13:17,935 - app.clients.bloomberg_client - INFO - ✅ Saved 2 records to database.
2026-01-11 13:13:17,935 - app.clients.bloomberg_client - INFO - Using currency: USD
2026-01-11 13:13:17,935 - app.clients.bloomberg_client - INFO - Fetching Currency Data...
2026-01-11 13:13:18,688 - app.clients.bloomberg_client - INFO - ✅ Parsed 220 items from remote.
2026-01-11 13:13:39,188 - app.clients.bloomberg_client - INFO - ✅ Saved 220 records to database.
2026-01-11 13:13:39,196 - app.clients.bloomberg_client - INFO - Fetching Non-Currency Data...
2026-01-11 13:13:39,853 - app.clients.bloomberg_client - INFO - ✅ Parsed 0 items from remote.
2026-01-11 13:13:39,854 - app.clients.bloomberg_client - INFO - Fetching Price Data...
2026-01-11 13:13:40,540 - app.clients.bloomberg_client - INFO - ✅ Parsed 20 items from remote.
2026-01-11 13:13:42,325 - app.clients.bloomberg_client - INFO - ✅ Saved 20 records to database.
2026-01-11 13:13:43,141 - app.clients.bloomberg_client - INFO - ✅ Cleanup and View Refresh completed.
2026-01-11 13:13:43,142 - app.clients.bloomberg_client - INFO - ✅ Completed processing for AAPL US Equity
2026-01-11 13:13:44,741 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=30, Msg=资产负债表获取完成 (10行), Progress=50%
2026-01-11 13:13:45,029 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=30, Msg=正在获取现金流量表数据..., Progress=55%
2026-01-11 13:13:45,758 - app.clients.bloomberg_client - INFO - 🚀 Starting fetch for: AAPL US Equity
2026-01-11 13:13:45,845 - app.clients.bloomberg_client - INFO - Fetching Basic Data...
2026-01-11 13:13:47,459 - app.clients.bloomberg_client - INFO - ✅ Parsed 2 items from remote.
2026-01-11 13:13:48,233 - app.clients.bloomberg_client - INFO - ✅ Saved 2 records to database.
2026-01-11 13:13:48,234 - app.clients.bloomberg_client - INFO - Using currency: USD
2026-01-11 13:13:48,234 - app.clients.bloomberg_client - INFO - Fetching Currency Data...
2026-01-11 13:13:49,024 - app.clients.bloomberg_client - INFO - ✅ Parsed 220 items from remote.
2026-01-11 13:14:07,425 - app.clients.bloomberg_client - INFO - ✅ Saved 220 records to database.
2026-01-11 13:14:07,433 - app.clients.bloomberg_client - INFO - Fetching Non-Currency Data...
2026-01-11 13:14:07,995 - app.clients.bloomberg_client - INFO - ✅ Parsed 0 items from remote.
2026-01-11 13:14:07,995 - app.clients.bloomberg_client - INFO - Fetching Price Data...
2026-01-11 13:14:08,474 - app.clients.bloomberg_client - INFO - ✅ Parsed 20 items from remote.
2026-01-11 13:14:10,763 - app.clients.bloomberg_client - INFO - ✅ Saved 20 records to database.
2026-01-11 13:14:13,387 - app.clients.bloomberg_client - INFO - ✅ Cleanup and View Refresh completed.
2026-01-11 13:14:13,388 - app.clients.bloomberg_client - INFO - ✅ Completed processing for AAPL US Equity
2026-01-11 13:14:14,707 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=30, Msg=现金流量表获取完成 (10行), Progress=75%
2026-01-11 13:14:16,639 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=30, Msg=正在获取市场指标..., Progress=78%
2026-01-11 13:14:17,086 - app.clients.bloomberg_client - INFO - 🚀 Starting fetch for: AAPL US Equity
2026-01-11 13:14:17,329 - app.clients.bloomberg_client - INFO - Fetching Basic Data...
2026-01-11 13:14:18,303 - app.clients.bloomberg_client - INFO - ✅ Parsed 2 items from remote.
2026-01-11 13:14:19,911 - app.clients.bloomberg_client - INFO - ✅ Saved 2 records to database.
2026-01-11 13:14:19,912 - app.clients.bloomberg_client - INFO - Using currency: USD
2026-01-11 13:14:19,912 - app.clients.bloomberg_client - INFO - Fetching Currency Data...
2026-01-11 13:14:21,551 - app.clients.bloomberg_client - INFO - ✅ Parsed 220 items from remote.
2026-01-11 13:14:44,941 - app.clients.bloomberg_client - INFO - ✅ Saved 220 records to database.
2026-01-11 13:14:44,945 - app.clients.bloomberg_client - INFO - Fetching Non-Currency Data...
2026-01-11 13:14:45,513 - app.clients.bloomberg_client - INFO - ✅ Parsed 0 items from remote.
2026-01-11 13:14:45,514 - app.clients.bloomberg_client - INFO - Fetching Price Data...
2026-01-11 13:14:45,990 - app.clients.bloomberg_client - INFO - ✅ Parsed 20 items from remote.
2026-01-11 13:14:48,901 - app.clients.bloomberg_client - INFO - ✅ Saved 20 records to database.
2026-01-11 13:14:49,421 - app.clients.bloomberg_client - INFO - ✅ Cleanup and View Refresh completed.
2026-01-11 13:14:49,422 - app.clients.bloomberg_client - INFO - ✅ Completed processing for AAPL US Equity
2026-01-11 13:14:50,089 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=30, Msg=市场指标获取完成, Progress=85%
2026-01-11 13:14:51,243 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=30, Msg=正在获取分红数据..., Progress=87%
2026-01-11 13:14:53,521 - app.clients.bloomberg_client - INFO - 🚀 Starting fetch for: AAPL US Equity
2026-01-11 13:14:53,583 - app.clients.bloomberg_client - INFO - Fetching Basic Data...
2026-01-11 13:14:54,563 - app.clients.bloomberg_client - INFO - ✅ Parsed 2 items from remote.
2026-01-11 13:14:56,003 - app.clients.bloomberg_client - INFO - ✅ Saved 2 records to database.
2026-01-11 13:14:56,003 - app.clients.bloomberg_client - INFO - Using currency: USD
2026-01-11 13:14:56,003 - app.clients.bloomberg_client - INFO - Fetching Currency Data...
2026-01-11 13:14:57,097 - app.clients.bloomberg_client - INFO - ✅ Parsed 220 items from remote.
2026-01-11 13:15:15,678 - app.clients.bloomberg_client - INFO - ✅ Saved 220 records to database.
2026-01-11 13:15:15,743 - app.clients.bloomberg_client - INFO - Fetching Non-Currency Data...
2026-01-11 13:15:16,343 - app.clients.bloomberg_client - INFO - ✅ Parsed 0 items from remote.
2026-01-11 13:15:16,343 - app.clients.bloomberg_client - INFO - Fetching Price Data...
2026-01-11 13:15:16,882 - app.clients.bloomberg_client - INFO - ✅ Parsed 20 items from remote.
2026-01-11 13:15:19,450 - app.clients.bloomberg_client - INFO - ✅ Saved 20 records to database.
2026-01-11 13:15:20,212 - app.clients.bloomberg_client - INFO - ✅ Cleanup and View Refresh completed.
2026-01-11 13:15:20,213 - app.clients.bloomberg_client - INFO - ✅ Completed processing for AAPL US Equity
2026-01-11 13:15:21,472 - app.clients.bloomberg_client - INFO - 🚀 Starting fetch for: AAPL US Equity
2026-01-11 13:15:21,947 - app.clients.bloomberg_client - INFO - Fetching Basic Data...
2026-01-11 13:15:22,974 - app.clients.bloomberg_client - INFO - ✅ Parsed 2 items from remote.
2026-01-11 13:15:24,699 - app.clients.bloomberg_client - INFO - ✅ Saved 2 records to database.
2026-01-11 13:15:24,701 - app.clients.bloomberg_client - INFO - Using currency: USD
2026-01-11 13:15:24,701 - app.clients.bloomberg_client - INFO - Fetching Currency Data...
2026-01-11 13:15:25,557 - app.clients.bloomberg_client - INFO - ✅ Parsed 220 items from remote.
2026-01-11 13:15:48,402 - app.clients.bloomberg_client - INFO - ✅ Saved 220 records to database.
2026-01-11 13:15:48,408 - app.clients.bloomberg_client - INFO - Fetching Non-Currency Data...
2026-01-11 13:15:48,992 - app.clients.bloomberg_client - INFO - ✅ Parsed 0 items from remote.
2026-01-11 13:15:48,992 - app.clients.bloomberg_client - INFO - Fetching Price Data...
2026-01-11 13:15:49,537 - app.clients.bloomberg_client - INFO - ✅ Parsed 20 items from remote.
2026-01-11 13:15:53,243 - app.clients.bloomberg_client - INFO - ✅ Saved 20 records to database.
2026-01-11 13:15:54,472 - app.clients.bloomberg_client - INFO - ✅ Cleanup and View Refresh completed.
2026-01-11 13:15:54,472 - app.clients.bloomberg_client - INFO - ✅ Completed processing for AAPL US Equity
2026-01-11 13:15:56,157 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=30, Msg=正在获取回购数据..., Progress=90%
2026-01-11 13:15:56,967 - app.clients.bloomberg_client - INFO - 🚀 Starting fetch for: AAPL US Equity
2026-01-11 13:15:57,529 - app.clients.bloomberg_client - INFO - Fetching Basic Data...
2026-01-11 13:15:58,535 - app.clients.bloomberg_client - INFO - ✅ Parsed 2 items from remote.
2026-01-11 13:16:03,967 - app.clients.bloomberg_client - INFO - ✅ Saved 2 records to database.
2026-01-11 13:16:03,968 - app.clients.bloomberg_client - INFO - Using currency: USD
2026-01-11 13:16:03,968 - app.clients.bloomberg_client - INFO - Fetching Currency Data...
2026-01-11 13:16:05,136 - app.clients.bloomberg_client - INFO - ✅ Parsed 220 items from remote.
2026-01-11 13:16:23,995 - app.clients.bloomberg_client - INFO - ✅ Saved 220 records to database.
2026-01-11 13:16:24,005 - app.clients.bloomberg_client - INFO - Fetching Non-Currency Data...
2026-01-11 13:16:24,720 - app.clients.bloomberg_client - INFO - ✅ Parsed 0 items from remote.
2026-01-11 13:16:24,720 - app.clients.bloomberg_client - INFO - Fetching Price Data...
2026-01-11 13:16:25,257 - app.clients.bloomberg_client - INFO - ✅ Parsed 20 items from remote.
2026-01-11 13:16:27,891 - app.clients.bloomberg_client - INFO - ✅ Saved 20 records to database.
2026-01-11 13:16:28,612 - app.clients.bloomberg_client - INFO - ✅ Cleanup and View Refresh completed.
2026-01-11 13:16:28,612 - app.clients.bloomberg_client - INFO - ✅ Completed processing for AAPL US Equity
2026-01-11 13:16:29,084 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=30, Msg=正在获取员工数据..., Progress=93%
2026-01-11 13:16:30,087 - app.clients.bloomberg_client - INFO - 🚀 Starting fetch for: AAPL US Equity
2026-01-11 13:16:30,146 - app.clients.bloomberg_client - INFO - Fetching Basic Data...
2026-01-11 13:16:31,162 - app.clients.bloomberg_client - INFO - ✅ Parsed 2 items from remote.
2026-01-11 13:16:33,231 - app.clients.bloomberg_client - INFO - ✅ Saved 2 records to database.
2026-01-11 13:16:33,232 - app.clients.bloomberg_client - INFO - Using currency: USD
2026-01-11 13:16:33,232 - app.clients.bloomberg_client - INFO - Fetching Currency Data...
2026-01-11 13:16:34,499 - app.clients.bloomberg_client - INFO - ✅ Parsed 220 items from remote.
2026-01-11 13:16:58,065 - app.clients.bloomberg_client - INFO - ✅ Saved 220 records to database.
2026-01-11 13:16:58,073 - app.clients.bloomberg_client - INFO - Fetching Non-Currency Data...
2026-01-11 13:16:58,682 - app.clients.bloomberg_client - INFO - ✅ Parsed 0 items from remote.
2026-01-11 13:16:58,683 - app.clients.bloomberg_client - INFO - Fetching Price Data...
2026-01-11 13:16:59,181 - app.clients.bloomberg_client - INFO - ✅ Parsed 20 items from remote.
2026-01-11 13:17:01,161 - app.clients.bloomberg_client - INFO - ✅ Saved 20 records to database.
2026-01-11 13:17:01,830 - app.clients.bloomberg_client - INFO - ✅ Cleanup and View Refresh completed.
2026-01-11 13:17:01,830 - app.clients.bloomberg_client - INFO - ✅ Completed processing for AAPL US Equity
2026-01-11 13:17:03,238 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=30, Msg=正在处理统计信息..., Progress=96%
2026-01-11 13:17:04,206 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=30, Msg=数据获取完成, Progress=100%
2026-01-11 13:17:40,291 - app.main - INFO - 🔍 [搜索] 开始搜索股票: 苹果
2026-01-11 13:17:40,302 - app.main - INFO - 🤖 [搜索-LLM] 调用 gemini-2.0-flash 进行股票搜索
2026-01-11 13:17:40,307 - google_genai.models - INFO - AFC is enabled with max remote calls: 10.
2026-01-11 13:17:43,895 - httpx - INFO - HTTP Request: POST https://generativelanguage.googleapis.com/v1beta/models/gemini-2.0-flash:generateContent "HTTP/1.1 200 OK"
2026-01-11 13:17:43,912 - app.main - INFO - ✅ [搜索-LLM] 模型响应完成, 耗时: 3.61秒, Tokens: prompt=163, completion=41, total=204
2026-01-11 13:17:43,912 - app.main - INFO - ✅ [搜索] 搜索完成, 找到 1 个结果, 总耗时: 3.62秒
2026-01-11 13:21:40,401 - app.main - INFO - 🔍 [搜索] 开始搜索股票: 苹果
2026-01-11 13:21:40,607 - app.main - INFO - 🤖 [搜索-LLM] 调用 gemini-2.0-flash 进行股票搜索
2026-01-11 13:21:40,609 - google_genai.models - INFO - AFC is enabled with max remote calls: 10.
2026-01-11 13:21:43,517 - httpx - INFO - HTTP Request: POST https://generativelanguage.googleapis.com/v1beta/models/gemini-2.0-flash:generateContent "HTTP/1.1 200 OK"
2026-01-11 13:21:43,533 - app.main - INFO - ✅ [搜索-LLM] 模型响应完成, 耗时: 2.93秒, Tokens: prompt=163, completion=67, total=230
2026-01-11 13:21:43,533 - app.main - ERROR - ❌ [搜索] 搜索失败: Expecting value: line 1 column 1 (char 0), 耗时: 3.13秒
2026-01-11 13:21:50,070 - app.main - INFO - 🔍 [搜索] 开始搜索股票: 苹果公司
2026-01-11 13:21:50,071 - app.main - INFO - 🤖 [搜索-LLM] 调用 gemini-2.5-flash 进行股票搜索
2026-01-11 13:21:50,071 - google_genai.models - INFO - AFC is enabled with max remote calls: 10.
2026-01-11 13:21:54,239 - httpx - INFO - HTTP Request: POST https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash:generateContent "HTTP/1.1 200 OK"
2026-01-11 13:21:54,256 - app.main - INFO - ✅ [搜索-LLM] 模型响应完成, 耗时: 4.18秒, Tokens: prompt=165, completion=70, total=235
2026-01-11 13:21:54,256 - app.main - INFO - ✅ [搜索] 搜索完成, 找到 1 个结果, 总耗时: 4.19秒
2026-01-11 13:22:31,039 - app.main - INFO - 🔍 [搜索] 开始搜索股票: 苹果公司
2026-01-11 13:22:31,173 - app.main - INFO - 🤖 [搜索-LLM] 调用 gemini-2.0-flash 进行股票搜索
2026-01-11 13:22:31,174 - google_genai.models - INFO - AFC is enabled with max remote calls: 10.
2026-01-11 13:22:34,945 - httpx - INFO - HTTP Request: POST https://generativelanguage.googleapis.com/v1beta/models/gemini-2.0-flash:generateContent "HTTP/1.1 200 OK"
2026-01-11 13:22:35,049 - app.main - INFO - ✅ [搜索-LLM] 模型响应完成, 耗时: 3.88秒, Tokens: prompt=164, completion=41, total=205
2026-01-11 13:22:35,050 - app.main - INFO - ✅ [搜索] 搜索完成, 找到 1 个结果, 总耗时: 4.01秒
2026-01-11 13:27:04,387 - app.main - INFO - 🔍 [搜索] 开始搜索股票: 英伟达
2026-01-11 13:27:04,393 - app.main - INFO - 🤖 [搜索-LLM] 调用 gemini-2.0-flash 进行股票搜索
2026-01-11 13:27:04,399 - google_genai.models - INFO - AFC is enabled with max remote calls: 10.
2026-01-11 13:27:07,007 - httpx - INFO - HTTP Request: POST https://generativelanguage.googleapis.com/v1beta/models/gemini-2.0-flash:generateContent "HTTP/1.1 200 OK"
2026-01-11 13:27:07,019 - app.main - INFO - ✅ [搜索-LLM] 模型响应完成, 耗时: 2.63秒, Tokens: prompt=165, completion=47, total=212
2026-01-11 13:27:07,019 - app.main - INFO - ✅ [搜索] 搜索完成, 找到 1 个结果, 总耗时: 2.63秒
2026-01-11 14:35:52,113 - app.main - INFO - 🔍 [搜索] 开始搜索股票: app
2026-01-11 14:35:52,139 - app.main - INFO - 🤖 [搜索-LLM] 调用 gemini-2.5-flash 进行股票搜索
2026-01-11 14:35:52,153 - google_genai.models - INFO - AFC is enabled with max remote calls: 10.
2026-01-11 14:35:56,588 - httpx - INFO - HTTP Request: POST https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash:generateContent "HTTP/1.1 200 OK"
2026-01-11 14:35:56,611 - app.main - INFO - ✅ [搜索-LLM] 模型响应完成, 耗时: 4.47秒, Tokens: prompt=164, completion=68, total=232
2026-01-11 14:35:56,613 - app.main - INFO - ✅ [搜索] 搜索完成, 找到 1 个结果, 总耗时: 4.49秒
2026-01-11 14:36:08,928 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=31, Msg=正在初始化数据获取..., Progress=0%
2026-01-11 14:36:12,521 - app.clients.bloomberg_client - INFO - Connecting to Jupyter at http://192.168.3.161:8888...
2026-01-11 14:36:16,223 - app.clients.bloomberg_client - INFO - ✅ Authentication successful.
2026-01-11 14:36:16,253 - app.clients.bloomberg_client - INFO - ✅ Found existing kernel: bc27f3b1-b028-434a-99fa-c1cad4495a87 (remote_env)
2026-01-11 14:36:16,743 - app.clients.bloomberg_client - INFO - ✅ WebSocket connected.
2026-01-11 14:36:16,745 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=31, Msg=数据源连接成功, Progress=5%
2026-01-11 14:36:20,091 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=31, Msg=正在连接 Bloomberg 终端并同步所有数据(Basic, Currency, Price)..., Progress=10%
2026-01-11 14:36:23,298 - app.clients.bloomberg_client - INFO - 🚀 Starting fetch for: APP US Equity
2026-01-11 14:36:23,365 - app.clients.bloomberg_client - INFO - Fetching Basic Data...
2026-01-11 14:36:25,752 - app.clients.bloomberg_client - INFO - ✅ Parsed 2 items from remote.
2026-01-11 14:36:26,545 - app.clients.bloomberg_client - INFO - ✅ Saved 2 records to database.
2026-01-11 14:36:26,546 - app.clients.bloomberg_client - INFO - Using currency: USD
2026-01-11 14:36:26,546 - app.clients.bloomberg_client - INFO - Fetching Currency Data...
2026-01-11 14:36:27,660 - app.clients.bloomberg_client - INFO - ✅ Parsed 156 items from remote.
2026-01-11 14:36:49,193 - app.clients.bloomberg_client - INFO - ✅ Saved 156 records to database.
2026-01-11 14:36:49,195 - app.clients.bloomberg_client - INFO - Fetching Non-Currency Data...
2026-01-11 14:36:49,887 - app.clients.bloomberg_client - INFO - ✅ Parsed 0 items from remote.
2026-01-11 14:36:49,887 - app.clients.bloomberg_client - INFO - Fetching Price Data...
2026-01-11 14:36:50,445 - app.clients.bloomberg_client - INFO - ✅ Parsed 10 items from remote.
2026-01-11 14:36:53,854 - app.clients.bloomberg_client - INFO - ✅ Saved 10 records to database.
2026-01-11 14:36:55,264 - app.clients.bloomberg_client - INFO - ✅ Cleanup and View Refresh completed.
2026-01-11 14:36:55,265 - app.clients.bloomberg_client - INFO - ✅ Completed processing for APP US Equity
2026-01-11 14:36:57,582 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=31, Msg=Bloomberg 数据同步完成,正在生成视图..., Progress=60%
2026-01-11 14:36:58,656 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=31, Msg=正在生成资产负债表..., Progress=65%
2026-01-11 14:37:00,022 - app.clients.bloomberg_client - INFO - 🚀 Starting fetch for: APP US Equity
2026-01-11 14:37:00,222 - app.clients.bloomberg_client - INFO - Fetching Basic Data...
2026-01-11 14:37:01,201 - app.clients.bloomberg_client - INFO - ✅ Parsed 2 items from remote.
2026-01-11 14:37:02,336 - app.clients.bloomberg_client - INFO - ✅ Saved 2 records to database.
2026-01-11 14:37:02,336 - app.clients.bloomberg_client - INFO - Using currency: USD
2026-01-11 14:37:02,337 - app.clients.bloomberg_client - INFO - Fetching Currency Data...
2026-01-11 14:37:03,150 - app.clients.bloomberg_client - INFO - ✅ Parsed 156 items from remote.
2026-01-11 14:37:22,024 - app.clients.bloomberg_client - INFO - ✅ Saved 156 records to database.
2026-01-11 14:37:22,035 - app.clients.bloomberg_client - INFO - Fetching Non-Currency Data...
2026-01-11 14:37:22,566 - app.clients.bloomberg_client - INFO - ✅ Parsed 0 items from remote.
2026-01-11 14:37:22,566 - app.clients.bloomberg_client - INFO - Fetching Price Data...
2026-01-11 14:37:23,111 - app.clients.bloomberg_client - INFO - ✅ Parsed 10 items from remote.
2026-01-11 14:37:24,952 - app.clients.bloomberg_client - INFO - ✅ Saved 10 records to database.
2026-01-11 14:37:27,495 - app.clients.bloomberg_client - INFO - ✅ Cleanup and View Refresh completed.
2026-01-11 14:37:27,497 - app.clients.bloomberg_client - INFO - ✅ Completed processing for APP US Equity
2026-01-11 14:37:28,899 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=31, Msg=资产负债表获取完成 (6行), Progress=70%
2026-01-11 14:37:30,140 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=31, Msg=正在生成现金流量表..., Progress=75%
2026-01-11 14:37:31,015 - app.clients.bloomberg_client - INFO - 🚀 Starting fetch for: APP US Equity
2026-01-11 14:37:31,076 - app.clients.bloomberg_client - INFO - Fetching Basic Data...
2026-01-11 14:37:32,107 - app.clients.bloomberg_client - INFO - ✅ Parsed 2 items from remote.
2026-01-11 14:37:33,104 - app.clients.bloomberg_client - INFO - ✅ Saved 2 records to database.
2026-01-11 14:37:33,105 - app.clients.bloomberg_client - INFO - Using currency: USD
2026-01-11 14:37:33,105 - app.clients.bloomberg_client - INFO - Fetching Currency Data...
2026-01-11 14:37:34,185 - app.clients.bloomberg_client - INFO - ✅ Parsed 156 items from remote.
2026-01-11 14:37:51,392 - app.clients.bloomberg_client - INFO - ✅ Saved 156 records to database.
2026-01-11 14:37:51,399 - app.clients.bloomberg_client - INFO - Fetching Non-Currency Data...
2026-01-11 14:37:52,815 - app.clients.bloomberg_client - INFO - ✅ Parsed 0 items from remote.
2026-01-11 14:37:52,815 - app.clients.bloomberg_client - INFO - Fetching Price Data...
2026-01-11 14:37:53,476 - app.clients.bloomberg_client - INFO - ✅ Parsed 10 items from remote.
2026-01-11 14:37:55,159 - app.clients.bloomberg_client - INFO - ✅ Saved 10 records to database.
2026-01-11 14:37:57,264 - app.clients.bloomberg_client - INFO - ✅ Cleanup and View Refresh completed.
2026-01-11 14:37:57,265 - app.clients.bloomberg_client - INFO - ✅ Completed processing for APP US Equity
2026-01-11 14:37:58,805 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=31, Msg=现金流量表获取完成 (6行), Progress=80%
2026-01-11 14:38:00,007 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=31, Msg=正在生成市场指标..., Progress=85%
2026-01-11 14:38:01,061 - app.clients.bloomberg_client - INFO - 🚀 Starting fetch for: APP US Equity
2026-01-11 14:38:01,543 - app.clients.bloomberg_client - INFO - Fetching Basic Data...
2026-01-11 14:38:02,547 - app.clients.bloomberg_client - INFO - ✅ Parsed 2 items from remote.
2026-01-11 14:38:03,888 - app.clients.bloomberg_client - INFO - ✅ Saved 2 records to database.
2026-01-11 14:38:03,888 - app.clients.bloomberg_client - INFO - Using currency: USD
2026-01-11 14:38:03,889 - app.clients.bloomberg_client - INFO - Fetching Currency Data...
2026-01-11 14:38:04,534 - app.clients.bloomberg_client - INFO - ✅ Parsed 156 items from remote.
2026-01-11 14:38:23,652 - app.clients.bloomberg_client - INFO - ✅ Saved 156 records to database.
2026-01-11 14:38:23,653 - app.clients.bloomberg_client - INFO - Fetching Non-Currency Data...
2026-01-11 14:38:24,442 - app.clients.bloomberg_client - INFO - ✅ Parsed 0 items from remote.
2026-01-11 14:38:24,442 - app.clients.bloomberg_client - INFO - Fetching Price Data...
2026-01-11 14:38:24,971 - app.clients.bloomberg_client - INFO - ✅ Parsed 10 items from remote.
2026-01-11 14:38:27,691 - app.clients.bloomberg_client - INFO - ✅ Saved 10 records to database.
2026-01-11 14:38:29,012 - app.clients.bloomberg_client - INFO - ✅ Cleanup and View Refresh completed.
2026-01-11 14:38:29,013 - app.clients.bloomberg_client - INFO - ✅ Completed processing for APP US Equity
2026-01-11 14:38:30,484 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=31, Msg=市场指标获取完成, Progress=90%
2026-01-11 14:38:31,595 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=31, Msg=正在获取分红数据..., Progress=87%
2026-01-11 14:38:32,315 - app.clients.bloomberg_client - INFO - 🚀 Starting fetch for: APP US Equity
2026-01-11 14:38:32,603 - app.clients.bloomberg_client - INFO - Fetching Basic Data...
2026-01-11 14:38:33,597 - app.clients.bloomberg_client - INFO - ✅ Parsed 2 items from remote.
2026-01-11 14:38:34,575 - app.clients.bloomberg_client - INFO - ✅ Saved 2 records to database.
2026-01-11 14:38:34,575 - app.clients.bloomberg_client - INFO - Using currency: USD
2026-01-11 14:38:34,576 - app.clients.bloomberg_client - INFO - Fetching Currency Data...
2026-01-11 14:38:35,248 - app.clients.bloomberg_client - INFO - ✅ Parsed 156 items from remote.
2026-01-11 14:38:54,723 - app.clients.bloomberg_client - INFO - ✅ Saved 156 records to database.
2026-01-11 14:38:54,724 - app.clients.bloomberg_client - INFO - Fetching Non-Currency Data...
2026-01-11 14:38:55,410 - app.clients.bloomberg_client - INFO - ✅ Parsed 0 items from remote.
2026-01-11 14:38:55,410 - app.clients.bloomberg_client - INFO - Fetching Price Data...
2026-01-11 14:38:56,350 - app.clients.bloomberg_client - INFO - ✅ Parsed 10 items from remote.
2026-01-11 14:39:01,031 - app.clients.bloomberg_client - INFO - ✅ Saved 10 records to database.
2026-01-11 14:39:05,447 - app.clients.bloomberg_client - INFO - ✅ Cleanup and View Refresh completed.
2026-01-11 14:39:05,448 - app.clients.bloomberg_client - INFO - ✅ Completed processing for APP US Equity
2026-01-11 14:39:07,601 - app.clients.bloomberg_client - INFO - 🚀 Starting fetch for: APP US Equity
2026-01-11 14:39:07,661 - app.clients.bloomberg_client - INFO - Fetching Basic Data...
2026-01-11 14:39:08,705 - app.clients.bloomberg_client - INFO - ✅ Parsed 2 items from remote.
2026-01-11 14:39:10,856 - app.clients.bloomberg_client - INFO - ✅ Saved 2 records to database.
2026-01-11 14:39:10,856 - app.clients.bloomberg_client - INFO - Using currency: USD
2026-01-11 14:39:10,856 - app.clients.bloomberg_client - INFO - Fetching Currency Data...
2026-01-11 14:39:11,769 - app.clients.bloomberg_client - INFO - ✅ Parsed 156 items from remote.
2026-01-11 14:39:33,605 - app.clients.bloomberg_client - INFO - ✅ Saved 156 records to database.
2026-01-11 14:39:33,607 - app.clients.bloomberg_client - INFO - Fetching Non-Currency Data...
2026-01-11 14:39:34,183 - app.clients.bloomberg_client - INFO - ✅ Parsed 0 items from remote.
2026-01-11 14:39:34,183 - app.clients.bloomberg_client - INFO - Fetching Price Data...
2026-01-11 14:39:35,123 - app.clients.bloomberg_client - INFO - ✅ Parsed 10 items from remote.
2026-01-11 14:39:36,722 - app.clients.bloomberg_client - INFO - ✅ Saved 10 records to database.
2026-01-11 14:39:37,396 - app.clients.bloomberg_client - INFO - ✅ Cleanup and View Refresh completed.
2026-01-11 14:39:37,396 - app.clients.bloomberg_client - INFO - ✅ Completed processing for APP US Equity
2026-01-11 14:39:38,584 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=31, Msg=正在获取回购数据..., Progress=90%
2026-01-11 14:39:44,103 - app.clients.bloomberg_client - INFO - 🚀 Starting fetch for: APP US Equity
2026-01-11 14:39:44,166 - app.clients.bloomberg_client - INFO - Fetching Basic Data...
2026-01-11 14:39:45,279 - app.clients.bloomberg_client - INFO - ✅ Parsed 2 items from remote.
2026-01-11 14:39:47,917 - app.clients.bloomberg_client - INFO - ✅ Saved 2 records to database.
2026-01-11 14:39:47,923 - app.clients.bloomberg_client - INFO - Using currency: USD
2026-01-11 14:39:47,923 - app.clients.bloomberg_client - INFO - Fetching Currency Data...
2026-01-11 14:39:48,876 - app.clients.bloomberg_client - INFO - ✅ Parsed 156 items from remote.
2026-01-11 14:40:09,105 - app.clients.bloomberg_client - INFO - ✅ Saved 156 records to database.
2026-01-11 14:40:09,108 - app.clients.bloomberg_client - INFO - Fetching Non-Currency Data...
2026-01-11 14:40:10,071 - app.clients.bloomberg_client - INFO - ✅ Parsed 0 items from remote.
2026-01-11 14:40:10,071 - app.clients.bloomberg_client - INFO - Fetching Price Data...
2026-01-11 14:40:10,705 - app.clients.bloomberg_client - INFO - ✅ Parsed 10 items from remote.
2026-01-11 14:40:12,293 - app.clients.bloomberg_client - INFO - ✅ Saved 10 records to database.
2026-01-11 14:40:13,368 - app.clients.bloomberg_client - INFO - ✅ Cleanup and View Refresh completed.
2026-01-11 14:40:13,368 - app.clients.bloomberg_client - INFO - ✅ Completed processing for APP US Equity
2026-01-11 14:40:14,361 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=31, Msg=正在获取员工数据..., Progress=93%
2026-01-11 14:40:14,916 - app.clients.bloomberg_client - INFO - 🚀 Starting fetch for: APP US Equity
2026-01-11 14:40:14,977 - app.clients.bloomberg_client - INFO - Fetching Basic Data...
2026-01-11 14:40:16,037 - app.clients.bloomberg_client - INFO - ✅ Parsed 2 items from remote.
2026-01-11 14:40:17,021 - app.clients.bloomberg_client - INFO - ✅ Saved 2 records to database.
2026-01-11 14:40:17,021 - app.clients.bloomberg_client - INFO - Using currency: USD
2026-01-11 14:40:17,021 - app.clients.bloomberg_client - INFO - Fetching Currency Data...
2026-01-11 14:40:18,635 - app.clients.bloomberg_client - INFO - ✅ Parsed 156 items from remote.
2026-01-11 14:40:42,412 - app.clients.bloomberg_client - INFO - ✅ Saved 156 records to database.
2026-01-11 14:40:42,413 - app.clients.bloomberg_client - INFO - Fetching Non-Currency Data...
2026-01-11 14:40:43,424 - app.clients.bloomberg_client - INFO - ✅ Parsed 0 items from remote.
2026-01-11 14:40:43,424 - app.clients.bloomberg_client - INFO - Fetching Price Data...
2026-01-11 14:40:44,012 - app.clients.bloomberg_client - INFO - ✅ Parsed 10 items from remote.
2026-01-11 14:40:47,867 - app.clients.bloomberg_client - INFO - ✅ Saved 10 records to database.
2026-01-11 14:40:48,962 - app.clients.bloomberg_client - INFO - ✅ Cleanup and View Refresh completed.
2026-01-11 14:40:48,963 - app.clients.bloomberg_client - INFO - ✅ Completed processing for APP US Equity
2026-01-11 14:40:49,624 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=31, Msg=正在处理统计信息..., Progress=96%
2026-01-11 14:40:50,686 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=31, Msg=数据获取完成, Progress=100%
2026-01-11 14:42:02,620 - app.main - INFO - 🔍 [搜索] 开始搜索股票: 苹果公司
2026-01-11 14:42:02,688 - app.main - INFO - 🤖 [搜索-LLM] 调用 gemini-2.5-flash 进行股票搜索
2026-01-11 14:42:02,688 - google_genai.models - INFO - AFC is enabled with max remote calls: 10.
2026-01-11 14:42:06,767 - httpx - INFO - HTTP Request: POST https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash:generateContent "HTTP/1.1 200 OK"
2026-01-11 14:42:06,779 - app.main - INFO - ✅ [搜索-LLM] 模型响应完成, 耗时: 4.09秒, Tokens: prompt=165, completion=65, total=230
2026-01-11 14:42:06,780 - app.main - INFO - ✅ [搜索] 搜索完成, 找到 1 个结果, 总耗时: 4.16秒
2026-01-11 14:42:17,711 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=32, Msg=正在初始化数据获取..., Progress=0%
2026-01-11 14:42:18,627 - app.clients.bloomberg_client - INFO - Connecting to Jupyter at http://192.168.3.161:8888...
2026-01-11 14:42:19,175 - app.clients.bloomberg_client - INFO - ✅ Authentication successful.
2026-01-11 14:42:19,210 - app.clients.bloomberg_client - INFO - ✅ Found existing kernel: bc27f3b1-b028-434a-99fa-c1cad4495a87 (remote_env)
2026-01-11 14:42:19,438 - app.clients.bloomberg_client - INFO - ✅ WebSocket connected.
2026-01-11 14:42:19,438 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=32, Msg=数据源连接成功, Progress=5%
2026-01-11 14:42:20,963 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=32, Msg=正在连接 Bloomberg 终端并同步所有数据(Basic, Currency, Price)..., Progress=10%
2026-01-11 14:42:21,645 - app.clients.bloomberg_client - INFO - 🚀 Starting fetch for: AAPL US Equity
2026-01-11 14:42:21,919 - app.clients.bloomberg_client - INFO - Fetching Basic Data...
2026-01-11 14:42:22,888 - app.clients.bloomberg_client - INFO - ✅ Parsed 2 items from remote.
2026-01-11 14:42:23,797 - app.clients.bloomberg_client - INFO - ✅ Saved 2 records to database.
2026-01-11 14:42:23,798 - app.clients.bloomberg_client - INFO - Using currency: USD
2026-01-11 14:42:23,798 - app.clients.bloomberg_client - INFO - Fetching Currency Data...
2026-01-11 14:42:24,535 - app.clients.bloomberg_client - INFO - ✅ Parsed 220 items from remote.
2026-01-11 14:42:50,707 - app.clients.bloomberg_client - INFO - ✅ Saved 220 records to database.
2026-01-11 14:42:50,716 - app.clients.bloomberg_client - INFO - Fetching Non-Currency Data...
2026-01-11 14:42:51,483 - app.clients.bloomberg_client - INFO - ✅ Parsed 0 items from remote.
2026-01-11 14:42:51,485 - app.clients.bloomberg_client - INFO - Fetching Price Data...
2026-01-11 14:42:52,126 - app.clients.bloomberg_client - INFO - ✅ Parsed 20 items from remote.
2026-01-11 14:42:55,226 - app.clients.bloomberg_client - INFO - ✅ Saved 20 records to database.
2026-01-11 14:42:56,276 - app.clients.bloomberg_client - INFO - ✅ Cleanup and View Refresh completed.
2026-01-11 14:42:56,277 - app.clients.bloomberg_client - INFO - ✅ Completed processing for AAPL US Equity
2026-01-11 14:42:57,035 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=32, Msg=Bloomberg 数据同步完成,正在生成视图..., Progress=60%
2026-01-11 14:42:58,402 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=32, Msg=正在生成资产负债表..., Progress=65%
2026-01-11 14:43:00,102 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=32, Msg=资产负债表获取完成 (10行), Progress=70%
2026-01-11 14:43:00,715 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=32, Msg=正在生成现金流量表..., Progress=75%
2026-01-11 14:43:01,893 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=32, Msg=现金流量表获取完成 (10行), Progress=80%
2026-01-11 14:43:02,235 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=32, Msg=正在生成市场指标..., Progress=85%
2026-01-11 14:43:04,877 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=32, Msg=市场指标获取完成, Progress=90%
2026-01-11 14:43:06,121 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=32, Msg=正在获取分红数据..., Progress=87%
2026-01-11 14:43:09,231 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=32, Msg=正在获取回购数据..., Progress=90%
2026-01-11 14:43:10,715 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=32, Msg=正在获取员工数据..., Progress=93%
2026-01-11 14:43:12,311 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=32, Msg=正在处理统计信息..., Progress=96%
2026-01-11 14:43:12,927 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=32, Msg=数据获取完成, Progress=100%
2026-01-11 14:45:28,629 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=33, Msg=正在初始化数据获取..., Progress=0%
2026-01-11 14:45:29,646 - app.clients.bloomberg_client - INFO - Connecting to Jupyter at http://192.168.3.161:8888...
2026-01-11 14:45:30,071 - app.clients.bloomberg_client - INFO - ✅ Authentication successful.
2026-01-11 14:45:30,114 - app.clients.bloomberg_client - INFO - ✅ Found existing kernel: bc27f3b1-b028-434a-99fa-c1cad4495a87 (remote_env)
2026-01-11 14:45:30,324 - app.clients.bloomberg_client - INFO - ✅ WebSocket connected.
2026-01-11 14:45:30,324 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=33, Msg=数据源连接成功, Progress=5%
2026-01-11 14:45:30,847 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=33, Msg=正在连接 Bloomberg 终端并同步所有数据(Basic, Currency, Price)..., Progress=10%
2026-01-11 14:45:31,359 - app.clients.bloomberg_client - INFO - 🚀 Starting fetch for: AAPL US Equity
2026-01-11 14:45:31,396 - app.clients.bloomberg_client - INFO - Fetching Basic Data...
2026-01-11 14:45:32,470 - app.clients.bloomberg_client - INFO - ✅ Parsed 2 items from remote.
2026-01-11 14:45:35,982 - app.clients.bloomberg_client - INFO - ✅ Saved 2 records to database.
2026-01-11 14:45:35,983 - app.clients.bloomberg_client - INFO - Using currency: USD
2026-01-11 14:45:35,983 - app.clients.bloomberg_client - INFO - Fetching Currency Data...
2026-01-11 14:45:37,591 - app.clients.bloomberg_client - INFO - ✅ Parsed 220 items from remote.
2026-01-11 14:46:06,627 - app.clients.bloomberg_client - INFO - ✅ Saved 220 records to database.
2026-01-11 14:46:06,628 - app.clients.bloomberg_client - INFO - Fetching Non-Currency Data...
2026-01-11 14:46:07,149 - app.clients.bloomberg_client - INFO - ✅ Parsed 0 items from remote.
2026-01-11 14:46:07,150 - app.clients.bloomberg_client - INFO - Fetching Price Data...
2026-01-11 14:46:07,667 - app.clients.bloomberg_client - INFO - ✅ Parsed 20 items from remote.
2026-01-11 14:46:14,403 - app.clients.bloomberg_client - INFO - ✅ Saved 20 records to database.
2026-01-11 14:46:15,266 - app.clients.bloomberg_client - INFO - ✅ Cleanup and View Refresh completed.
2026-01-11 14:46:15,267 - app.clients.bloomberg_client - INFO - ✅ Completed processing for AAPL US Equity
2026-01-11 14:46:16,077 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=33, Msg=Bloomberg 数据同步完成,正在生成视图..., Progress=60%
2026-01-11 14:46:17,627 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=33, Msg=正在生成资产负债表..., Progress=65%
2026-01-11 14:46:18,348 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=33, Msg=资产负债表获取完成 (10行), Progress=70%
2026-01-11 14:46:19,802 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=33, Msg=正在生成现金流量表..., Progress=75%
2026-01-11 14:46:22,782 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=33, Msg=现金流量表获取完成 (10行), Progress=80%
2026-01-11 14:46:23,773 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=33, Msg=正在生成市场指标..., Progress=85%
2026-01-11 14:46:26,155 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=33, Msg=市场指标获取完成, Progress=90%
2026-01-11 14:46:27,039 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=33, Msg=正在获取分红数据..., Progress=87%
2026-01-11 14:46:30,344 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=33, Msg=正在获取回购数据..., Progress=90%
2026-01-11 14:46:32,322 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=33, Msg=正在获取员工数据..., Progress=93%
2026-01-11 14:46:34,459 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=33, Msg=正在处理统计信息..., Progress=96%
2026-01-11 14:46:35,283 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=33, Msg=数据获取完成, Progress=100%
2026-01-11 14:56:43,321 - app.main - INFO - 🔍 [搜索] 开始搜索股票: 苹果
2026-01-11 14:56:43,603 - app.main - INFO - 🤖 [搜索-LLM] 调用 gemini-2.5-flash 进行股票搜索
2026-01-11 14:56:43,609 - google_genai.models - INFO - AFC is enabled with max remote calls: 10.
2026-01-11 14:56:48,167 - httpx - INFO - HTTP Request: POST https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash:generateContent "HTTP/1.1 200 OK"
2026-01-11 14:56:48,193 - app.main - INFO - ✅ [搜索-LLM] 模型响应完成, 耗时: 4.59秒, Tokens: prompt=164, completion=70, total=234
2026-01-11 14:56:48,194 - app.main - INFO - ✅ [搜索] 搜索完成, 找到 1 个结果, 总耗时: 4.87秒
2026-01-11 15:00:40,407 - app.main - INFO - 🔍 [搜索] 开始搜索股票: 苹果
2026-01-11 15:00:40,494 - app.main - INFO - 🤖 [搜索-LLM] 调用 gemini-2.5-flash 进行股票搜索
2026-01-11 15:00:40,496 - google_genai.models - INFO - AFC is enabled with max remote calls: 10.
2026-01-11 15:00:44,814 - httpx - INFO - HTTP Request: POST https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash:generateContent "HTTP/1.1 200 OK"
2026-01-11 15:00:44,823 - app.main - INFO - ✅ [搜索-LLM] 模型响应完成, 耗时: 4.33秒, Tokens: prompt=164, completion=46, total=210
2026-01-11 15:00:44,823 - app.main - INFO - ✅ [搜索] 搜索完成, 找到 1 个结果, 总耗时: 4.42秒
2026-01-11 15:06:28,055 - app.main - INFO - 🔍 [搜索] 开始搜索股票: 苹果
2026-01-11 15:06:28,067 - app.main - INFO - 🤖 [搜索-LLM] 调用 gemini-2.5-flash 进行股票搜索
2026-01-11 15:06:28,078 - google_genai.models - INFO - AFC is enabled with max remote calls: 10.
2026-01-11 15:06:33,911 - httpx - INFO - HTTP Request: POST https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash:generateContent "HTTP/1.1 200 OK"
2026-01-11 15:06:33,931 - app.main - INFO - ✅ [搜索-LLM] 模型响应完成, 耗时: 5.86秒, Tokens: prompt=164, completion=62, total=226
2026-01-11 15:06:33,931 - app.main - INFO - ✅ [搜索] 搜索完成, 找到 1 个结果, 总耗时: 5.87秒
2026-01-11 15:15:58,065 - app.services.data_fetcher_service - ERROR - Error fetching Bloomberg data from stockcard: cannot access local variable 'text' where it is not associated with a value
Traceback (most recent call last):
File "/Users/xucheng/git.qubit.ltd/FA3/backend/app/services/data_fetcher_service.py", line 483, in get_financial_data_from_db
check_sql = text("SELECT 1 FROM stockcard WHERE Company_code = :code LIMIT 1")
^^^^
UnboundLocalError: cannot access local variable 'text' where it is not associated with a value
2026-01-11 15:17:56,819 - app.services.data_fetcher_service - ERROR - Error fetching Bloomberg data from stockcard: (sqlalchemy.dialects.postgresql.asyncpg.ProgrammingError) <class 'asyncpg.exceptions.UndefinedColumnError'>: column "period_end_date" does not exist
[SQL:
SELECT indicator, value, period_end_date, value_date
FROM stockcard
WHERE Company_code = $1
]
[parameters: ('AAPL US Equity',)]
(Background on this error at: https://sqlalche.me/e/20/f405)
Traceback (most recent call last):
File "/Users/xucheng/git.qubit.ltd/FA3/.venv/lib/python3.13/site-packages/sqlalchemy/dialects/postgresql/asyncpg.py", line 526, in _prepare_and_execute
prepared_stmt, attributes = await adapt_connection._prepare(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
operation, self._invalidate_schema_cache_asof
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/Users/xucheng/git.qubit.ltd/FA3/.venv/lib/python3.13/site-packages/sqlalchemy/dialects/postgresql/asyncpg.py", line 773, in _prepare
prepared_stmt = await self._connection.prepare(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
operation, name=self._prepared_statement_name_func()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/Users/xucheng/git.qubit.ltd/FA3/.venv/lib/python3.13/site-packages/asyncpg/connection.py", line 638, in prepare
return await self._prepare(
^^^^^^^^^^^^^^^^^^^^
...<4 lines>...
)
^
File "/Users/xucheng/git.qubit.ltd/FA3/.venv/lib/python3.13/site-packages/asyncpg/connection.py", line 657, in _prepare
stmt = await self._get_statement(
^^^^^^^^^^^^^^^^^^^^^^^^^^
...<5 lines>...
)
^
File "/Users/xucheng/git.qubit.ltd/FA3/.venv/lib/python3.13/site-packages/asyncpg/connection.py", line 443, in _get_statement
statement = await self._protocol.prepare(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
...<5 lines>...
)
^
File "asyncpg/protocol/protocol.pyx", line 165, in prepare
asyncpg.exceptions.UndefinedColumnError: column "period_end_date" does not exist
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/Users/xucheng/git.qubit.ltd/FA3/.venv/lib/python3.13/site-packages/sqlalchemy/engine/base.py", line 1967, in _exec_single_context
self.dialect.do_execute(
~~~~~~~~~~~~~~~~~~~~~~~^
cursor, str_statement, effective_parameters, context
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/Users/xucheng/git.qubit.ltd/FA3/.venv/lib/python3.13/site-packages/sqlalchemy/engine/default.py", line 952, in do_execute
cursor.execute(statement, parameters)
~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/xucheng/git.qubit.ltd/FA3/.venv/lib/python3.13/site-packages/sqlalchemy/dialects/postgresql/asyncpg.py", line 585, in execute
self._adapt_connection.await_(
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
self._prepare_and_execute(operation, parameters)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/Users/xucheng/git.qubit.ltd/FA3/.venv/lib/python3.13/site-packages/sqlalchemy/util/_concurrency_py3k.py", line 132, in await_only
return current.parent.switch(awaitable) # type: ignore[no-any-return,attr-defined] # noqa: E501
~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^
File "/Users/xucheng/git.qubit.ltd/FA3/.venv/lib/python3.13/site-packages/sqlalchemy/util/_concurrency_py3k.py", line 196, in greenlet_spawn
value = await result
^^^^^^^^^^^^
File "/Users/xucheng/git.qubit.ltd/FA3/.venv/lib/python3.13/site-packages/sqlalchemy/dialects/postgresql/asyncpg.py", line 563, in _prepare_and_execute
self._handle_exception(error)
~~~~~~~~~~~~~~~~~~~~~~^^^^^^^
File "/Users/xucheng/git.qubit.ltd/FA3/.venv/lib/python3.13/site-packages/sqlalchemy/dialects/postgresql/asyncpg.py", line 513, in _handle_exception
self._adapt_connection._handle_exception(error)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^
File "/Users/xucheng/git.qubit.ltd/FA3/.venv/lib/python3.13/site-packages/sqlalchemy/dialects/postgresql/asyncpg.py", line 797, in _handle_exception
raise translated_error from error
sqlalchemy.dialects.postgresql.asyncpg.AsyncAdapt_asyncpg_dbapi.ProgrammingError: <class 'asyncpg.exceptions.UndefinedColumnError'>: column "period_end_date" does not exist
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/Users/xucheng/git.qubit.ltd/FA3/backend/app/services/data_fetcher_service.py", line 506, in get_financial_data_from_db
result = await db.execute(query, {"code": target_code})
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/xucheng/git.qubit.ltd/FA3/.venv/lib/python3.13/site-packages/sqlalchemy/ext/asyncio/session.py", line 449, in execute
result = await greenlet_spawn(
^^^^^^^^^^^^^^^^^^^^^
...<6 lines>...
)
^
File "/Users/xucheng/git.qubit.ltd/FA3/.venv/lib/python3.13/site-packages/sqlalchemy/util/_concurrency_py3k.py", line 201, in greenlet_spawn
result = context.throw(*sys.exc_info())
File "/Users/xucheng/git.qubit.ltd/FA3/.venv/lib/python3.13/site-packages/sqlalchemy/orm/session.py", line 2351, in execute
return self._execute_internal(
~~~~~~~~~~~~~~~~~~~~~~^
statement,
^^^^^^^^^^
...<4 lines>...
_add_event=_add_event,
^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/Users/xucheng/git.qubit.ltd/FA3/.venv/lib/python3.13/site-packages/sqlalchemy/orm/session.py", line 2258, in _execute_internal
result = conn.execute(
statement, params or {}, execution_options=execution_options
)
File "/Users/xucheng/git.qubit.ltd/FA3/.venv/lib/python3.13/site-packages/sqlalchemy/engine/base.py", line 1419, in execute
return meth(
self,
distilled_parameters,
execution_options or NO_OPTIONS,
)
File "/Users/xucheng/git.qubit.ltd/FA3/.venv/lib/python3.13/site-packages/sqlalchemy/sql/elements.py", line 527, in _execute_on_connection
return connection._execute_clauseelement(
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
self, distilled_params, execution_options
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/Users/xucheng/git.qubit.ltd/FA3/.venv/lib/python3.13/site-packages/sqlalchemy/engine/base.py", line 1641, in _execute_clauseelement
ret = self._execute_context(
dialect,
...<8 lines>...
cache_hit=cache_hit,
)
File "/Users/xucheng/git.qubit.ltd/FA3/.venv/lib/python3.13/site-packages/sqlalchemy/engine/base.py", line 1846, in _execute_context
return self._exec_single_context(
~~~~~~~~~~~~~~~~~~~~~~~~~^
dialect, context, statement, parameters
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/Users/xucheng/git.qubit.ltd/FA3/.venv/lib/python3.13/site-packages/sqlalchemy/engine/base.py", line 1986, in _exec_single_context
self._handle_dbapi_exception(
~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
e, str_statement, effective_parameters, cursor, context
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/Users/xucheng/git.qubit.ltd/FA3/.venv/lib/python3.13/site-packages/sqlalchemy/engine/base.py", line 2363, in _handle_dbapi_exception
raise sqlalchemy_exception.with_traceback(exc_info[2]) from e
File "/Users/xucheng/git.qubit.ltd/FA3/.venv/lib/python3.13/site-packages/sqlalchemy/engine/base.py", line 1967, in _exec_single_context
self.dialect.do_execute(
~~~~~~~~~~~~~~~~~~~~~~~^
cursor, str_statement, effective_parameters, context
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/Users/xucheng/git.qubit.ltd/FA3/.venv/lib/python3.13/site-packages/sqlalchemy/engine/default.py", line 952, in do_execute
cursor.execute(statement, parameters)
~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/xucheng/git.qubit.ltd/FA3/.venv/lib/python3.13/site-packages/sqlalchemy/dialects/postgresql/asyncpg.py", line 585, in execute
self._adapt_connection.await_(
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
self._prepare_and_execute(operation, parameters)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/Users/xucheng/git.qubit.ltd/FA3/.venv/lib/python3.13/site-packages/sqlalchemy/util/_concurrency_py3k.py", line 132, in await_only
return current.parent.switch(awaitable) # type: ignore[no-any-return,attr-defined] # noqa: E501
~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^
File "/Users/xucheng/git.qubit.ltd/FA3/.venv/lib/python3.13/site-packages/sqlalchemy/util/_concurrency_py3k.py", line 196, in greenlet_spawn
value = await result
^^^^^^^^^^^^
File "/Users/xucheng/git.qubit.ltd/FA3/.venv/lib/python3.13/site-packages/sqlalchemy/dialects/postgresql/asyncpg.py", line 563, in _prepare_and_execute
self._handle_exception(error)
~~~~~~~~~~~~~~~~~~~~~~^^^^^^^
File "/Users/xucheng/git.qubit.ltd/FA3/.venv/lib/python3.13/site-packages/sqlalchemy/dialects/postgresql/asyncpg.py", line 513, in _handle_exception
self._adapt_connection._handle_exception(error)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^
File "/Users/xucheng/git.qubit.ltd/FA3/.venv/lib/python3.13/site-packages/sqlalchemy/dialects/postgresql/asyncpg.py", line 797, in _handle_exception
raise translated_error from error
sqlalchemy.exc.ProgrammingError: (sqlalchemy.dialects.postgresql.asyncpg.ProgrammingError) <class 'asyncpg.exceptions.UndefinedColumnError'>: column "period_end_date" does not exist
[SQL:
SELECT indicator, value, period_end_date, value_date
FROM stockcard
WHERE Company_code = $1
]
[parameters: ('AAPL US Equity',)]
(Background on this error at: https://sqlalche.me/e/20/f405)
2026-01-11 15:43:59,728 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=34, Msg=正在初始化数据获取..., Progress=0%
2026-01-11 15:44:01,099 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=34, Msg=数据获取失败: expected an indented block after function definition on line 124 (bloomberg_fetcher.py, line 125), Progress=0%
2026-01-11 15:44:39,793 - app.main - INFO - 🔍 [搜索] 开始搜索股票: 苹果
2026-01-11 15:44:39,874 - app.main - INFO - 🤖 [搜索-LLM] 调用 gemini-2.5-flash 进行股票搜索
2026-01-11 15:44:39,875 - google_genai.models - INFO - AFC is enabled with max remote calls: 10.
2026-01-11 15:44:44,181 - httpx - INFO - HTTP Request: POST https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash:generateContent "HTTP/1.1 200 OK"
2026-01-11 15:44:44,189 - app.main - INFO - ✅ [搜索-LLM] 模型响应完成, 耗时: 4.32秒, Tokens: prompt=164, completion=63, total=227
2026-01-11 15:44:44,189 - app.main - INFO - ✅ [搜索] 搜索完成, 找到 1 个结果, 总耗时: 4.40秒
2026-01-11 15:59:11,029 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=35, Msg=正在初始化数据获取..., Progress=0%
2026-01-11 15:59:12,862 - app.clients.bloomberg_client - INFO - Connecting to Jupyter at http://192.168.3.161:8888...
2026-01-11 15:59:13,130 - app.clients.bloomberg_client - INFO - ✅ Authentication successful.
2026-01-11 15:59:13,159 - app.clients.bloomberg_client - INFO - ✅ Found existing kernel: bc27f3b1-b028-434a-99fa-c1cad4495a87 (remote_env)
2026-01-11 15:59:13,404 - app.clients.bloomberg_client - INFO - ✅ WebSocket connected.
2026-01-11 15:59:13,404 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=35, Msg=数据源连接成功, Progress=10%
2026-01-11 15:59:16,017 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=35, Msg=正在连接 Bloomberg 终端并同步所有数据..., Progress=20%
2026-01-11 15:59:18,664 - app.clients.bloomberg_client - INFO - 🚀 Starting fetch for: AAPL US Equity
2026-01-11 15:59:19,197 - app.clients.bloomberg_client - INFO - Fetching Basic Data...
2026-01-11 15:59:20,197 - app.clients.bloomberg_client - INFO - ✅ Parsed 2 items from remote.
2026-01-11 15:59:26,068 - app.clients.bloomberg_client - INFO - ✅ Saved 2 records to database.
2026-01-11 15:59:26,070 - app.clients.bloomberg_client - INFO - Using currency: USD
2026-01-11 15:59:26,070 - app.clients.bloomberg_client - INFO - Fetching Currency Data...
2026-01-11 15:59:29,612 - app.clients.bloomberg_client - INFO - ✅ Parsed 220 items from remote.
2026-01-11 15:59:57,006 - app.clients.bloomberg_client - INFO - ✅ Saved 220 records to database.
2026-01-11 15:59:57,011 - app.clients.bloomberg_client - INFO - Fetching Non-Currency Data...
2026-01-11 16:00:00,122 - app.clients.bloomberg_client - INFO - ✅ Parsed 378 items from remote.
2026-01-11 16:00:46,388 - app.clients.bloomberg_client - INFO - ✅ Saved 378 records to database.
2026-01-11 16:00:46,396 - app.clients.bloomberg_client - INFO - Fetching Price Data...
2026-01-11 16:00:47,361 - app.clients.bloomberg_client - INFO - ✅ Parsed 20 items from remote.
2026-01-11 16:00:49,667 - app.clients.bloomberg_client - INFO - ✅ Saved 20 records to database.
2026-01-11 16:00:52,371 - app.clients.bloomberg_client - INFO - ✅ Cleanup and View Refresh completed.
2026-01-11 16:00:52,372 - app.clients.bloomberg_client - INFO - ✅ Completed processing for AAPL US Equity
2026-01-11 16:00:52,374 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=35, Msg=Bloomberg 数据同步完成, Progress=100%
2026-01-11 17:49:08,337 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=36, Msg=正在初始化数据获取..., Progress=0%
2026-01-11 17:49:11,579 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=36, Msg=数据获取失败: unexpected indent (bloomberg_client.py, line 742), Progress=0%
2026-01-11 17:49:31,857 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=37, Msg=正在初始化数据获取..., Progress=0%
2026-01-11 17:49:32,874 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=37, Msg=数据获取失败: unexpected indent (bloomberg_client.py, line 742), Progress=0%
2026-01-11 17:52:55,229 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=38, Msg=正在初始化数据获取..., Progress=0%
2026-01-11 17:52:57,114 - app.clients.bloomberg_client - INFO - Connecting to Jupyter at http://192.168.3.161:8888...
2026-01-11 17:52:57,377 - app.clients.bloomberg_client - INFO - ✅ Authentication successful.
2026-01-11 17:52:57,567 - app.clients.bloomberg_client - INFO - ✅ Found existing kernel: bc27f3b1-b028-434a-99fa-c1cad4495a87 (remote_env)
2026-01-11 17:52:57,627 - app.clients.bloomberg_client - INFO - ✅ WebSocket connected.
2026-01-11 17:52:57,627 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=38, Msg=数据源连接成功, Progress=10%
2026-01-11 17:52:58,668 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=38, Msg=正在连接 Bloomberg 终端并同步所有数据..., Progress=20%
2026-01-11 17:53:00,274 - app.clients.bloomberg_client - INFO - 🚀 Starting fetch for: AAPL US Equity
2026-01-11 17:53:00,324 - app.clients.bloomberg_client - INFO - Fetching Basic Data...
2026-01-11 17:53:01,594 - app.clients.bloomberg_client - INFO - ✅ Parsed 2 items from remote.
2026-01-11 17:53:06,441 - app.clients.bloomberg_client - INFO - ✅ Saved 2 records to database.
2026-01-11 17:53:06,442 - app.clients.bloomberg_client - INFO - Using currency: USD
2026-01-11 17:53:06,442 - app.clients.bloomberg_client - INFO - Fetching Currency Data...
2026-01-11 17:53:06,442 - app.clients.bloomberg_client - ERROR - Fetch failed for AAPL US Equity: Invalid format specifier ' company,
"update_date": "2026-01-11",
"currency": curr,
"indicator": indicator_name,
"value": val_str,
"value_date": date_str
' for object of type 'str'
2026-01-11 17:53:06,443 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=38, Msg=Bloomberg 数据同步完成, Progress=100%
2026-01-11 17:56:04,443 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=39, Msg=正在初始化数据获取..., Progress=0%
2026-01-11 17:56:06,275 - app.clients.bloomberg_client - INFO - Connecting to Jupyter at http://192.168.3.161:8888...
2026-01-11 17:56:06,974 - app.clients.bloomberg_client - INFO - ✅ Authentication successful.
2026-01-11 17:56:07,498 - app.clients.bloomberg_client - INFO - ✅ Found existing kernel: bc27f3b1-b028-434a-99fa-c1cad4495a87 (remote_env)
2026-01-11 17:56:09,407 - app.clients.bloomberg_client - INFO - ✅ WebSocket connected.
2026-01-11 17:56:09,407 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=39, Msg=数据源连接成功, Progress=10%
2026-01-11 17:56:11,858 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=39, Msg=正在连接 Bloomberg 终端并同步所有数据..., Progress=20%
2026-01-11 17:56:14,721 - app.clients.bloomberg_client - INFO - 🚀 Starting fetch for: AAPL US Equity
2026-01-11 17:56:14,760 - app.clients.bloomberg_client - INFO - Fetching Basic Data...
2026-01-11 17:56:15,781 - app.clients.bloomberg_client - INFO - ✅ Parsed 2 items from remote.
2026-01-11 17:56:17,373 - app.clients.bloomberg_client - INFO - ✅ Saved 2 records to database.
2026-01-11 17:56:17,373 - app.clients.bloomberg_client - INFO - Using currency: USD
2026-01-11 17:56:17,373 - app.clients.bloomberg_client - INFO - Fetching Currency Data...
2026-01-11 17:56:17,937 - app.clients.bloomberg_client - ERROR - ❌ Remote Execution Error: invalid syntax (2838341427.py, line 62)
2026-01-11 17:56:17,938 - app.clients.bloomberg_client - ERROR - Cell In[192], line 62
 except Exception as e:
^
SyntaxError: invalid syntax
2026-01-11 17:56:17,954 - app.clients.bloomberg_client - ERROR - Fetch failed for AAPL US Equity: Remote Code Execution Failed: invalid syntax (2838341427.py, line 62)
2026-01-11 17:56:17,954 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=39, Msg=Bloomberg 数据同步完成, Progress=100%
2026-01-11 17:57:37,972 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=40, Msg=正在初始化数据获取..., Progress=0%
2026-01-11 17:57:40,026 - app.clients.bloomberg_client - INFO - Connecting to Jupyter at http://192.168.3.161:8888...
2026-01-11 17:57:42,370 - app.clients.bloomberg_client - INFO - ✅ Authentication successful.
2026-01-11 17:57:42,573 - app.clients.bloomberg_client - INFO - ✅ Found existing kernel: bc27f3b1-b028-434a-99fa-c1cad4495a87 (remote_env)
2026-01-11 17:57:43,092 - app.clients.bloomberg_client - INFO - ✅ WebSocket connected.
2026-01-11 17:57:43,096 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=40, Msg=数据源连接成功, Progress=10%
2026-01-11 17:57:44,874 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=40, Msg=正在连接 Bloomberg 终端并同步所有数据..., Progress=20%
2026-01-11 17:57:46,326 - app.clients.bloomberg_client - INFO - 🚀 Starting fetch for: AAPL US Equity
2026-01-11 17:57:46,397 - app.clients.bloomberg_client - INFO - Fetching Basic Data...
2026-01-11 17:57:47,318 - app.clients.bloomberg_client - INFO - ✅ Parsed 2 items from remote.
2026-01-11 17:57:49,396 - app.clients.bloomberg_client - INFO - ✅ Saved 2 records to database.
2026-01-11 17:57:49,397 - app.clients.bloomberg_client - INFO - Using currency: USD
2026-01-11 17:57:49,397 - app.clients.bloomberg_client - INFO - Fetching Currency Data...
2026-01-11 17:57:51,826 - app.clients.bloomberg_client - INFO - ✅ Parsed 220 items from remote.
2026-01-11 17:58:34,861 - app.clients.bloomberg_client - INFO - ✅ Saved 220 records to database.
2026-01-11 17:58:34,872 - app.clients.bloomberg_client - INFO - Fetching Non-Currency Data...
2026-01-11 17:58:36,038 - app.clients.bloomberg_client - INFO - ✅ Parsed 378 items from remote.
2026-01-11 17:59:35,616 - app.clients.bloomberg_client - INFO - ✅ Saved 378 records to database.
2026-01-11 17:59:35,701 - app.clients.bloomberg_client - INFO - Fetching Price Data (Aligned)...
2026-01-11 17:59:35,712 - app.clients.bloomberg_client - INFO - Found 10 revenue reporting dates. Fetching aligned price data...
2026-01-11 17:59:40,696 - app.clients.bloomberg_client - INFO - ✅ Parsed 20 items from remote.
2026-01-11 17:59:44,609 - app.clients.bloomberg_client - INFO - ✅ Saved 20 records to database.
2026-01-11 17:59:46,043 - app.clients.bloomberg_client - INFO - ✅ Cleanup and View Refresh completed.
2026-01-11 17:59:46,044 - app.clients.bloomberg_client - INFO - ✅ Completed processing for AAPL US Equity
2026-01-11 17:59:46,047 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=40, Msg=Bloomberg 数据同步完成, Progress=100%
2026-01-11 18:22:06,142 - app.main - INFO - 🔍 [搜索] 开始搜索股票: 麒麟
2026-01-11 18:22:06,565 - app.main - INFO - 🤖 [搜索-LLM] 调用 gemini-2.5-flash 进行股票搜索
2026-01-11 18:22:06,574 - google_genai.models - INFO - AFC is enabled with max remote calls: 10.
2026-01-11 18:22:15,068 - httpx - INFO - HTTP Request: POST https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash:generateContent "HTTP/1.1 200 OK"
2026-01-11 18:22:15,229 - app.main - INFO - ✅ [搜索-LLM] 模型响应完成, 耗时: 8.66秒, Tokens: prompt=165, completion=162, total=327
2026-01-11 18:22:15,231 - app.main - INFO - ✅ [搜索] 搜索完成, 找到 3 个结果, 总耗时: 9.08秒
2026-01-11 18:22:23,454 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=41, Msg=正在初始化数据获取..., Progress=0%
2026-01-11 18:22:25,534 - app.clients.bloomberg_client - INFO - Connecting to Jupyter at http://192.168.3.161:8888...
2026-01-11 18:22:27,266 - app.clients.bloomberg_client - INFO - ✅ Authentication successful.
2026-01-11 18:22:27,310 - app.clients.bloomberg_client - INFO - ✅ Found existing kernel: bc27f3b1-b028-434a-99fa-c1cad4495a87 (remote_env)
2026-01-11 18:22:27,375 - app.clients.bloomberg_client - INFO - ✅ WebSocket connected.
2026-01-11 18:22:27,376 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=41, Msg=数据源连接成功, Progress=10%
2026-01-11 18:22:29,955 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=41, Msg=正在连接 Bloomberg 终端并同步所有数据..., Progress=20%
2026-01-11 18:22:32,699 - app.clients.bloomberg_client - INFO - 🚀 Starting fetch for: 2503 JP Equity
2026-01-11 18:22:32,737 - app.clients.bloomberg_client - INFO - Fetching Basic Data...
2026-01-11 18:22:34,134 - app.clients.bloomberg_client - INFO - ✅ Parsed 2 items from remote.
2026-01-11 18:22:37,169 - app.clients.bloomberg_client - INFO - ✅ Saved 2 records to database.
2026-01-11 18:22:37,170 - app.clients.bloomberg_client - INFO - Using currency: JPY
2026-01-11 18:22:37,170 - app.clients.bloomberg_client - INFO - Fetching Currency Data...
2026-01-11 18:22:37,862 - app.clients.bloomberg_client - INFO - ✅ Parsed 215 items from remote.
2026-01-11 18:23:15,063 - app.clients.bloomberg_client - INFO - ✅ Saved 215 records to database.
2026-01-11 18:23:15,113 - app.clients.bloomberg_client - INFO - Fetching Non-Currency Data...
2026-01-11 18:23:27,993 - app.clients.bloomberg_client - INFO - ✅ Parsed 260 items from remote.
2026-01-11 18:24:16,287 - app.clients.bloomberg_client - INFO - ✅ Saved 260 records to database.
2026-01-11 18:24:16,318 - app.clients.bloomberg_client - INFO - Fetching Price Data (Aligned)...
2026-01-11 18:24:16,320 - app.clients.bloomberg_client - INFO - Found 9 revenue reporting dates. Fetching aligned price data...
2026-01-11 18:24:20,471 - app.clients.bloomberg_client - INFO - ✅ Parsed 27 items from remote.
2026-01-11 18:24:28,529 - app.clients.bloomberg_client - INFO - ✅ Saved 27 records to database.
2026-01-11 18:24:34,022 - app.clients.bloomberg_client - INFO - ✅ Cleanup and View Refresh completed.
2026-01-11 18:24:34,037 - app.clients.bloomberg_client - INFO - ✅ Completed processing for 2503 JP Equity
2026-01-11 18:24:34,045 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=41, Msg=Bloomberg 数据同步完成, Progress=100%
2026-01-11 19:12:33,462 - app.main - INFO - 🔍 [搜索] 开始搜索股票: 西贡啤酒
2026-01-11 19:12:33,722 - app.main - INFO - 🤖 [搜索-LLM] 调用 gemini-2.5-flash 进行股票搜索
2026-01-11 19:12:33,737 - google_genai.models - INFO - AFC is enabled with max remote calls: 10.
2026-01-11 19:12:40,170 - httpx - INFO - HTTP Request: POST https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash:generateContent "HTTP/1.1 200 OK"
2026-01-11 19:12:40,201 - app.main - INFO - ✅ [搜索-LLM] 模型响应完成, 耗时: 6.48秒, Tokens: prompt=166, completion=77, total=243
2026-01-11 19:12:40,202 - app.main - INFO - ✅ [搜索] 搜索完成, 找到 1 个结果, 总耗时: 6.74秒
2026-01-11 19:12:48,354 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=42, Msg=正在初始化数据获取..., Progress=0%
2026-01-11 19:12:50,232 - app.clients.bloomberg_client - INFO - Connecting to Jupyter at http://192.168.3.161:8888...
2026-01-11 19:12:50,649 - app.clients.bloomberg_client - INFO - ✅ Authentication successful.
2026-01-11 19:12:50,679 - app.clients.bloomberg_client - INFO - ✅ Found existing kernel: bc27f3b1-b028-434a-99fa-c1cad4495a87 (remote_env)
2026-01-11 19:12:50,740 - app.clients.bloomberg_client - INFO - ✅ WebSocket connected.
2026-01-11 19:12:50,740 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=42, Msg=数据源连接成功, Progress=10%
2026-01-11 19:12:51,527 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=42, Msg=正在连接 Bloomberg 终端..., Progress=20%
2026-01-11 19:12:52,476 - app.clients.bloomberg_client - INFO - 🚀 Starting fetch for: SAB VN Equity
2026-01-11 19:12:52,478 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=42, Msg=Starting Bloomberg session..., Progress=20%
2026-01-11 19:12:53,429 - app.clients.bloomberg_client - INFO - Fetching Basic Data...
2026-01-11 19:12:53,430 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=42, Msg=Fetching Company Basic Info..., Progress=27%
2026-01-11 19:12:55,239 - app.clients.bloomberg_client - INFO - ✅ Parsed 2 items from remote.
2026-01-11 19:12:57,415 - app.clients.bloomberg_client - INFO - ✅ Saved 2 records to database.
2026-01-11 19:12:57,416 - app.clients.bloomberg_client - INFO - Using currency: VND
2026-01-11 19:12:57,416 - app.clients.bloomberg_client - INFO - Fetching Currency Data...
2026-01-11 19:12:57,416 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=42, Msg=正在获取货币指标 (VND)..., Progress=41%
2026-01-11 19:12:59,610 - app.clients.bloomberg_client - INFO - ✅ Parsed 225 items from remote.
2026-01-11 19:13:24,646 - app.clients.bloomberg_client - INFO - ✅ Saved 225 records to database.
2026-01-11 19:13:24,653 - app.clients.bloomberg_client - INFO - Fetching Non-Currency Data...
2026-01-11 19:13:24,653 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=42, Msg=正在获取非货币指标..., Progress=55%
2026-01-11 19:13:25,924 - app.clients.bloomberg_client - INFO - ✅ Parsed 249 items from remote.
2026-01-11 19:13:57,203 - app.clients.bloomberg_client - INFO - ✅ Saved 249 records to database.
2026-01-11 19:13:57,213 - app.clients.bloomberg_client - INFO - Fetching Price Data (Aligned)...
2026-01-11 19:13:57,214 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=42, Msg=正在获取价格指标..., Progress=69%
2026-01-11 19:13:58,125 - app.clients.bloomberg_client - INFO - Found 9 revenue reporting dates. Fetching aligned price data...
2026-01-11 19:14:02,007 - app.clients.bloomberg_client - INFO - ✅ Parsed 27 items from remote.
2026-01-11 19:14:05,956 - app.clients.bloomberg_client - INFO - ✅ Saved 27 records to database.
2026-01-11 19:14:05,962 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=42, Msg=Finalizing data..., Progress=82%
2026-01-11 19:14:09,370 - app.clients.bloomberg_client - INFO - ✅ Cleanup and View Refresh completed.
2026-01-11 19:14:09,372 - app.clients.bloomberg_client - INFO - ✅ Completed processing for SAB VN Equity
2026-01-11 19:14:09,372 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=42, Msg=Bloomberg data sync complete, Progress=90%
2026-01-11 19:14:10,483 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=42, Msg=Bloomberg 数据同步完成, Progress=100%
2026-01-11 19:21:37,522 - app.main - INFO - 🔍 [搜索] 开始搜索股票: SAB
2026-01-11 19:21:37,544 - app.main - INFO - 🤖 [搜索-LLM] 调用 gemini-2.5-flash 进行股票搜索
2026-01-11 19:21:37,561 - google_genai.models - INFO - AFC is enabled with max remote calls: 10.
2026-01-11 19:21:47,453 - httpx - INFO - HTTP Request: POST https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash:generateContent "HTTP/1.1 200 OK"
2026-01-11 19:21:47,481 - app.main - INFO - ✅ [搜索-LLM] 模型响应完成, 耗时: 9.94秒, Tokens: prompt=165, completion=243, total=408
2026-01-11 19:21:47,481 - app.main - INFO - ✅ [搜索] 搜索完成, 找到 5 个结果, 总耗时: 9.95秒
2026-01-11 19:22:04,930 - app.main - INFO - 🔍 [搜索] 开始搜索股票: 西贡啤酒
2026-01-11 19:22:04,931 - app.main - INFO - 🤖 [搜索-LLM] 调用 gemini-2.5-flash 进行股票搜索
2026-01-11 19:22:04,931 - google_genai.models - INFO - AFC is enabled with max remote calls: 10.
2026-01-11 19:22:08,982 - httpx - INFO - HTTP Request: POST https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash:generateContent "HTTP/1.1 200 OK"
2026-01-11 19:22:08,987 - app.main - INFO - ✅ [搜索-LLM] 模型响应完成, 耗时: 4.06秒, Tokens: prompt=166, completion=83, total=249
2026-01-11 19:22:08,988 - app.main - INFO - ✅ [搜索] 搜索完成, 找到 1 个结果, 总耗时: 4.06秒
2026-01-11 19:53:39,156 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=43, Msg=正在初始化数据获取..., Progress=0%
2026-01-11 19:53:42,089 - app.clients.bloomberg_client - INFO - Connecting to Jupyter at http://192.168.3.161:8888...
2026-01-11 19:53:43,025 - app.clients.bloomberg_client - INFO - ✅ Authentication successful.
2026-01-11 19:53:43,284 - app.clients.bloomberg_client - INFO - ✅ Found existing kernel: bc27f3b1-b028-434a-99fa-c1cad4495a87 (remote_env)
2026-01-11 19:53:43,706 - app.clients.bloomberg_client - INFO - ✅ WebSocket connected.
2026-01-11 19:53:43,707 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=43, Msg=数据源连接成功, Progress=10%
2026-01-11 19:53:44,492 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=43, Msg=正在连接 Bloomberg 终端..., Progress=20%
2026-01-11 19:53:45,349 - app.clients.bloomberg_client - INFO - 🚀 Starting fetch for: SAB VN Equity
2026-01-11 19:53:45,349 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=43, Msg=Starting Bloomberg session..., Progress=20%
2026-01-11 19:53:47,085 - app.clients.bloomberg_client - INFO - Fetching Basic Data...
2026-01-11 19:53:47,085 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=43, Msg=Fetching Company Basic Info..., Progress=27%
2026-01-11 19:53:49,516 - app.clients.bloomberg_client - INFO - ✅ Parsed 2 items from remote.
2026-01-11 19:53:50,682 - app.clients.bloomberg_client - INFO - ✅ Saved 2 records to database.
2026-01-11 19:53:50,683 - app.clients.bloomberg_client - INFO - Using currency: VND
2026-01-11 19:53:50,683 - app.clients.bloomberg_client - INFO - Fetching Currency Data...
2026-01-11 19:53:50,683 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=43, Msg=正在获取货币指标 (VND)..., Progress=41%
2026-01-11 19:53:52,442 - app.clients.bloomberg_client - INFO - ✅ Parsed 275 items from remote.
2026-01-11 19:54:24,667 - app.clients.bloomberg_client - INFO - ✅ Saved 275 records to database.
2026-01-11 19:54:24,669 - app.clients.bloomberg_client - INFO - Fetching Non-Currency Data...
2026-01-11 19:54:24,669 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=43, Msg=正在获取非货币指标..., Progress=55%
2026-01-11 19:54:28,450 - app.clients.bloomberg_client - INFO - ✅ Parsed 290 items from remote.
2026-01-11 19:55:01,793 - app.clients.bloomberg_client - INFO - ✅ Saved 290 records to database.
2026-01-11 19:55:01,796 - app.clients.bloomberg_client - INFO - Fetching Price Data (Aligned)...
2026-01-11 19:55:01,796 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=43, Msg=正在获取价格指标..., Progress=69%
2026-01-11 19:55:02,515 - app.clients.bloomberg_client - INFO - Found 11 revenue reporting dates. Fetching aligned price data...
2026-01-11 19:55:07,831 - app.clients.bloomberg_client - INFO - ✅ Parsed 27 items from remote.
2026-01-11 19:55:10,705 - app.clients.bloomberg_client - INFO - ✅ Saved 27 records to database.
2026-01-11 19:55:10,706 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=43, Msg=Finalizing data..., Progress=82%
2026-01-11 19:55:13,396 - app.clients.bloomberg_client - INFO - ✅ Cleanup and View Refresh completed.
2026-01-11 19:55:13,397 - app.clients.bloomberg_client - INFO - ✅ Completed processing for SAB VN Equity
2026-01-11 19:55:13,397 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=43, Msg=Bloomberg data sync complete, Progress=90%
2026-01-11 19:55:13,724 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=43, Msg=Bloomberg 数据同步完成, Progress=100%
2026-01-11 20:06:54,509 - app.main - INFO - 🔍 [搜索] 开始搜索股票: 马山
2026-01-11 20:06:54,803 - app.main - INFO - 🤖 [搜索-LLM] 调用 gemini-2.0-flash-exp 进行股票搜索
2026-01-11 20:06:54,810 - google_genai.models - INFO - AFC is enabled with max remote calls: 10.
2026-01-11 20:07:00,658 - httpx - INFO - HTTP Request: POST https://generativelanguage.googleapis.com/v1beta/models/gemini-2.0-flash-exp:generateContent "HTTP/1.1 200 OK"
2026-01-11 20:07:00,686 - app.main - INFO - ✅ [搜索-LLM] 模型响应完成, 耗时: 5.88秒, Tokens: prompt=164, completion=454, total=618
2026-01-11 20:07:00,686 - app.main - ERROR - ❌ [搜索] 搜索失败: Expecting value: line 1 column 1 (char 0), 耗时: 6.17秒
2026-01-11 20:07:12,799 - app.main - INFO - 🔍 [搜索] 开始搜索股票: 迈瑞
2026-01-11 20:07:12,802 - app.main - INFO - 🤖 [搜索-LLM] 调用 gemini-2.0-flash-exp 进行股票搜索
2026-01-11 20:07:12,803 - google_genai.models - INFO - AFC is enabled with max remote calls: 10.
2026-01-11 20:07:16,206 - httpx - INFO - HTTP Request: POST https://generativelanguage.googleapis.com/v1beta/models/gemini-2.0-flash-exp:generateContent "HTTP/1.1 200 OK"
2026-01-11 20:07:16,273 - app.main - INFO - ✅ [搜索-LLM] 模型响应完成, 耗时: 3.47秒, Tokens: prompt=164, completion=51, total=215
2026-01-11 20:07:16,273 - app.main - INFO - ✅ [搜索] 搜索完成, 找到 1 个结果, 总耗时: 3.47秒
2026-01-11 20:07:23,937 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=44, Msg=正在初始化数据获取..., Progress=0%
2026-01-11 20:07:25,199 - app.services.data_fetcher_service - INFO - 📝 [数据获取] 股票代码格式化: 300760 -> 300760.SZ
2026-01-11 20:07:25,202 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=44, Msg=数据获取失败: Data source 'Tushare' not supported in backend., Progress=0%
2026-01-11 20:08:05,704 - app.main - INFO - 🔍 [搜索] 开始搜索股票: 南微医学
2026-01-11 20:08:05,709 - app.main - INFO - 🤖 [搜索-LLM] 调用 gemini-2.0-flash-exp 进行股票搜索
2026-01-11 20:08:05,714 - google_genai.models - INFO - AFC is enabled with max remote calls: 10.
2026-01-11 20:08:08,410 - httpx - INFO - HTTP Request: POST https://generativelanguage.googleapis.com/v1beta/models/gemini-2.0-flash-exp:generateContent "HTTP/1.1 200 OK"
2026-01-11 20:08:08,416 - app.main - INFO - ✅ [搜索-LLM] 模型响应完成, 耗时: 2.71秒, Tokens: prompt=165, completion=47, total=212
2026-01-11 20:08:08,417 - app.main - INFO - ✅ [搜索] 搜索完成, 找到 1 个结果, 总耗时: 2.71秒
2026-01-11 20:12:35,247 - app.main - INFO - 🔍 [搜索] 开始搜索股票: 京东方
2026-01-11 20:12:35,259 - app.main - INFO - 🤖 [搜索-LLM] 调用 gemini-2.5-flash 进行股票搜索
2026-01-11 20:12:35,263 - google_genai.models - INFO - AFC is enabled with max remote calls: 10.
2026-01-11 20:12:41,922 - httpx - INFO - HTTP Request: POST https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash:generateContent "HTTP/1.1 200 OK"
2026-01-11 20:12:41,940 - app.main - INFO - ✅ [搜索-LLM] 模型响应完成, 耗时: 6.68秒, Tokens: prompt=165, completion=118, total=283
2026-01-11 20:12:41,940 - app.main - INFO - ✅ [搜索] 搜索完成, 找到 2 个结果, 总耗时: 6.69秒
2026-01-11 20:12:46,388 - app.services.bloomberg_service - WARNING - No Bloomberg data found for symbol: 688029
2026-01-11 20:12:46,999 - app.services.bloomberg_service - WARNING - No Bloomberg data found for symbol: 688029
2026-01-11 20:12:49,015 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=45, Msg=正在初始化数据获取..., Progress=0%
2026-01-11 20:12:49,938 - app.clients.bloomberg_client - INFO - Connecting to Jupyter at http://192.168.3.161:8888...
2026-01-11 20:12:50,218 - app.clients.bloomberg_client - INFO - ✅ Authentication successful.
2026-01-11 20:12:50,255 - app.clients.bloomberg_client - INFO - ✅ Found existing kernel: bc27f3b1-b028-434a-99fa-c1cad4495a87 (remote_env)
2026-01-11 20:12:50,478 - app.clients.bloomberg_client - INFO - ✅ WebSocket connected.
2026-01-11 20:12:50,478 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=45, Msg=数据源连接成功, Progress=10%
2026-01-11 20:12:51,598 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=45, Msg=正在连接 Bloomberg 终端..., Progress=20%
2026-01-11 20:12:53,887 - app.clients.bloomberg_client - INFO - 🚀 Starting fetch for: 000725 CN Equity
2026-01-11 20:12:53,888 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=45, Msg=Starting Bloomberg session..., Progress=20%
2026-01-11 20:12:54,806 - app.clients.bloomberg_client - INFO - Fetching Basic Data...
2026-01-11 20:12:54,824 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=45, Msg=Fetching Company Basic Info..., Progress=27%
2026-01-11 20:12:57,924 - app.clients.bloomberg_client - INFO - ✅ Parsed 2 items from remote.
2026-01-11 20:12:59,486 - app.clients.bloomberg_client - INFO - ✅ Saved 2 records to database.
2026-01-11 20:12:59,487 - app.clients.bloomberg_client - INFO - Using currency: CNY
2026-01-11 20:12:59,487 - app.clients.bloomberg_client - INFO - Fetching Currency Data...
2026-01-11 20:12:59,487 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=45, Msg=正在获取货币指标 (CNY)..., Progress=41%
2026-01-11 20:13:00,726 - app.clients.bloomberg_client - INFO - ✅ Parsed 0 items from remote.
2026-01-11 20:13:00,726 - app.clients.bloomberg_client - INFO - Fetching Non-Currency Data...
2026-01-11 20:13:00,726 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=45, Msg=正在获取非货币指标..., Progress=55%
2026-01-11 20:13:02,593 - app.clients.bloomberg_client - INFO - ✅ Parsed 0 items from remote.
2026-01-11 20:13:02,593 - app.clients.bloomberg_client - INFO - Fetching Price Data (Aligned)...
2026-01-11 20:13:02,593 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=45, Msg=正在获取价格指标..., Progress=69%
2026-01-11 20:13:05,307 - app.clients.bloomberg_client - WARNING - No revenue dates found. Falling back to yearly price fetch.
2026-01-11 20:13:06,625 - app.clients.bloomberg_client - INFO - ✅ Parsed 1 items from remote.
2026-01-11 20:13:07,542 - app.clients.bloomberg_client - INFO - ✅ Saved 1 records to database.
2026-01-11 20:13:07,543 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=45, Msg=Finalizing data..., Progress=82%
2026-01-11 20:13:09,190 - app.clients.bloomberg_client - INFO - ✅ Cleanup and View Refresh completed.
2026-01-11 20:13:09,190 - app.clients.bloomberg_client - INFO - ✅ Completed processing for 000725 CN Equity
2026-01-11 20:13:09,190 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=45, Msg=Bloomberg data sync complete, Progress=90%
2026-01-11 20:13:09,845 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=45, Msg=Bloomberg 数据同步完成, Progress=100%
2026-01-11 20:16:53,460 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=46, Msg=正在初始化数据获取..., Progress=0%
2026-01-11 20:16:54,913 - app.clients.bloomberg_client - INFO - Connecting to Jupyter at http://192.168.3.161:8888...
2026-01-11 20:16:55,824 - app.clients.bloomberg_client - INFO - ✅ Authentication successful.
2026-01-11 20:16:56,029 - app.clients.bloomberg_client - INFO - ✅ Found existing kernel: bc27f3b1-b028-434a-99fa-c1cad4495a87 (remote_env)
2026-01-11 20:16:56,093 - app.clients.bloomberg_client - INFO - ✅ WebSocket connected.
2026-01-11 20:16:56,093 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=46, Msg=数据源连接成功, Progress=10%
2026-01-11 20:16:57,845 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=46, Msg=正在连接 Bloomberg 终端..., Progress=20%
2026-01-11 20:16:59,259 - app.clients.bloomberg_client - INFO - 🚀 Starting fetch for: 000725 CN Equity
2026-01-11 20:16:59,259 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=46, Msg=Starting Bloomberg session..., Progress=20%
2026-01-11 20:17:04,282 - app.clients.bloomberg_client - INFO - Fetching Basic Data...
2026-01-11 20:17:04,283 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=46, Msg=Fetching Company Basic Info..., Progress=27%
2026-01-11 20:17:07,199 - app.clients.bloomberg_client - INFO - ✅ Parsed 2 items from remote.
2026-01-11 20:17:10,359 - app.clients.bloomberg_client - INFO - ✅ Saved 2 records to database.
2026-01-11 20:17:10,360 - app.clients.bloomberg_client - INFO - Using currency: CNY
2026-01-11 20:17:10,360 - app.clients.bloomberg_client - INFO - Fetching Currency Data...
2026-01-11 20:17:10,360 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=46, Msg=正在获取货币指标 (CNY)..., Progress=41%
2026-01-11 20:17:12,977 - app.clients.bloomberg_client - INFO - ✅ Parsed 0 items from remote.
2026-01-11 20:17:12,978 - app.clients.bloomberg_client - INFO - Fetching Non-Currency Data...
2026-01-11 20:17:12,978 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=46, Msg=正在获取非货币指标..., Progress=55%
2026-01-11 20:17:14,860 - app.clients.bloomberg_client - INFO - ✅ Parsed 0 items from remote.
2026-01-11 20:17:14,860 - app.clients.bloomberg_client - INFO - Fetching Price Data (Aligned)...
2026-01-11 20:17:14,860 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=46, Msg=正在获取价格指标..., Progress=69%
2026-01-11 20:17:15,741 - app.clients.bloomberg_client - WARNING - No revenue dates found. Falling back to yearly price fetch.
2026-01-11 20:17:16,420 - app.clients.bloomberg_client - INFO - ✅ Parsed 1 items from remote.
2026-01-11 20:17:18,827 - app.clients.bloomberg_client - INFO - ✅ Saved 1 records to database.
2026-01-11 20:17:18,828 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=46, Msg=Finalizing data..., Progress=82%
2026-01-11 20:17:20,848 - app.clients.bloomberg_client - INFO - ✅ Cleanup and View Refresh completed.
2026-01-11 20:17:20,849 - app.clients.bloomberg_client - INFO - ✅ Completed processing for 000725 CN Equity
2026-01-11 20:17:20,849 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=46, Msg=Bloomberg data sync complete, Progress=90%
2026-01-11 20:17:21,552 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=46, Msg=Bloomberg 数据同步完成, Progress=100%
2026-01-11 20:28:14,645 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=47, Msg=正在初始化数据获取..., Progress=0%
2026-01-11 20:28:15,567 - app.clients.bloomberg_client - INFO - Connecting to Jupyter at http://192.168.3.161:8888...
2026-01-11 20:28:16,647 - app.clients.bloomberg_client - INFO - ✅ Authentication successful.
2026-01-11 20:28:16,682 - app.clients.bloomberg_client - INFO - ✅ Found existing kernel: bc27f3b1-b028-434a-99fa-c1cad4495a87 (remote_env)
2026-01-11 20:28:16,751 - app.clients.bloomberg_client - INFO - ✅ WebSocket connected.
2026-01-11 20:28:16,751 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=47, Msg=数据源连接成功, Progress=10%
2026-01-11 20:28:17,601 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=47, Msg=正在连接 Bloomberg 终端..., Progress=20%
2026-01-11 20:28:18,043 - app.clients.bloomberg_client - INFO - 🚀 Starting fetch for: 000725 CH Equity
2026-01-11 20:28:18,044 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=47, Msg=Starting Bloomberg session..., Progress=20%
2026-01-11 20:28:20,154 - app.clients.bloomberg_client - INFO - Fetching Basic Data...
2026-01-11 20:28:20,155 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=47, Msg=Fetching Company Basic Info..., Progress=27%
2026-01-11 20:28:22,319 - app.clients.bloomberg_client - INFO - ✅ Parsed 2 items from remote.
2026-01-11 20:28:24,083 - app.clients.bloomberg_client - INFO - ✅ Saved 2 records to database.
2026-01-11 20:28:24,083 - app.clients.bloomberg_client - INFO - Using currency: CNY
2026-01-11 20:28:24,083 - app.clients.bloomberg_client - INFO - Fetching Currency Data...
2026-01-11 20:28:24,083 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=47, Msg=正在获取货币指标 (CNY)..., Progress=41%
2026-01-11 20:28:26,200 - app.clients.bloomberg_client - INFO - ✅ Parsed 350 items from remote.
2026-01-11 20:29:11,923 - app.clients.bloomberg_client - INFO - ✅ Saved 350 records to database.
2026-01-11 20:29:11,931 - app.clients.bloomberg_client - INFO - Fetching Non-Currency Data...
2026-01-11 20:29:11,931 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=47, Msg=正在获取非货币指标..., Progress=55%
2026-01-11 20:30:20,069 - app.clients.bloomberg_client - ERROR - Error receiving WS message: Connection timed out
2026-01-11 20:30:20,070 - app.clients.bloomberg_client - WARNING - ⚠️ No JSON output found in remote response.
2026-01-11 20:30:20,070 - app.clients.bloomberg_client - INFO - Fetching Price Data (Aligned)...
2026-01-11 20:30:20,070 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=47, Msg=正在获取价格指标..., Progress=69%
2026-01-11 20:30:21,168 - app.clients.bloomberg_client - INFO - Found 14 revenue reporting dates. Fetching aligned price data...
2026-01-11 20:30:31,156 - app.clients.bloomberg_client - INFO - ✅ Parsed 381 items from remote.
2026-01-11 20:31:23,214 - app.clients.bloomberg_client - INFO - ✅ Saved 381 records to database.
2026-01-11 20:31:23,222 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=47, Msg=Finalizing data..., Progress=82%
2026-01-11 20:31:27,141 - app.clients.bloomberg_client - INFO - ✅ Cleanup and View Refresh completed.
2026-01-11 20:31:27,143 - app.clients.bloomberg_client - INFO - ✅ Completed processing for 000725 CH Equity
2026-01-11 20:31:27,143 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=47, Msg=Bloomberg data sync complete, Progress=90%
2026-01-11 20:31:28,046 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=47, Msg=Bloomberg 数据同步完成, Progress=100%
2026-01-11 21:26:47,212 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=48, Msg=正在初始化数据获取..., Progress=0%
2026-01-11 21:26:48,858 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=48, Msg=数据获取失败: invalid syntax (bloomberg_client.py, line 456), Progress=0%
2026-01-11 21:29:14,203 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=49, Msg=正在初始化数据获取..., Progress=0%
2026-01-11 21:29:15,499 - app.clients.bloomberg_client - INFO - Connecting to Jupyter at http://192.168.3.161:8888...
2026-01-11 21:29:17,316 - app.clients.bloomberg_client - INFO - ✅ Authentication successful.
2026-01-11 21:29:17,347 - app.clients.bloomberg_client - INFO - ✅ Found existing kernel: bc27f3b1-b028-434a-99fa-c1cad4495a87 (remote_env)
2026-01-11 21:29:17,849 - app.clients.bloomberg_client - INFO - ✅ WebSocket connected.
2026-01-11 21:29:17,849 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=49, Msg=数据源连接成功, Progress=10%
2026-01-11 21:29:18,166 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=49, Msg=正在连接 Bloomberg 终端..., Progress=20%
2026-01-11 21:29:19,192 - app.clients.bloomberg_client - INFO - 🚀 Starting fetch for: 2503 JP Equity
2026-01-11 21:29:19,192 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=49, Msg=Starting Bloomberg session..., Progress=20%
2026-01-11 21:29:19,532 - app.clients.bloomberg_client - INFO - Fetching Basic Data...
2026-01-11 21:29:19,532 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=49, Msg=Fetching Company Basic Info..., Progress=27%
2026-01-11 21:29:23,309 - app.clients.bloomberg_client - INFO - ✅ Parsed 2 items from remote.
2026-01-11 21:29:24,098 - app.clients.bloomberg_client - INFO - ✅ Saved 2 records to database.
2026-01-11 21:29:24,098 - app.clients.bloomberg_client - INFO - Using currency: JPY
2026-01-11 21:29:24,098 - app.clients.bloomberg_client - INFO - Fetching Currency Data...
2026-01-11 21:29:24,099 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=49, Msg=正在获取货币指标 (JPY)..., Progress=41%
2026-01-11 21:29:29,127 - app.clients.bloomberg_client - INFO - ✅ Parsed 331 items from remote.
2026-01-11 21:30:02,714 - app.clients.bloomberg_client - INFO - ✅ Saved 331 records to database.
2026-01-11 21:30:02,723 - app.clients.bloomberg_client - INFO - Fetching Non-Currency Data...
2026-01-11 21:30:02,723 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=49, Msg=正在获取非货币指标..., Progress=55%
2026-01-11 21:30:03,912 - app.clients.bloomberg_client - INFO - ✅ Parsed 382 items from remote.
2026-01-11 21:30:40,420 - app.clients.bloomberg_client - INFO - ✅ Saved 382 records to database.
2026-01-11 21:30:40,427 - app.clients.bloomberg_client - INFO - Fetching Price Data (Aligned)...
2026-01-11 21:30:40,427 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=49, Msg=正在获取价格指标..., Progress=69%
2026-01-11 21:30:42,051 - app.clients.bloomberg_client - INFO - Found 14 revenue reporting dates. Fetching aligned price data...
2026-01-11 21:30:48,054 - app.clients.bloomberg_client - INFO - ✅ Parsed 42 items from remote.
2026-01-11 21:30:57,003 - app.clients.bloomberg_client - INFO - ✅ Saved 42 records to database.
2026-01-11 21:30:57,006 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=49, Msg=Finalizing data..., Progress=82%
2026-01-11 21:30:59,001 - app.clients.bloomberg_client - INFO - ✅ Cleanup and View Refresh completed.
2026-01-11 21:30:59,004 - app.clients.bloomberg_client - INFO - ✅ Completed processing for 2503 JP Equity
2026-01-11 21:30:59,004 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=49, Msg=Bloomberg data sync complete, Progress=90%
2026-01-11 21:30:59,770 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=49, Msg=Bloomberg 数据同步完成, Progress=100%
2026-01-12 08:38:48,085 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=50, Msg=正在初始化数据获取..., Progress=0%
2026-01-12 08:38:48,574 - app.clients.bloomberg_client - INFO - Connecting to Jupyter at http://192.168.3.161:8888...
2026-01-12 08:38:48,811 - app.clients.bloomberg_client - INFO - ✅ Authentication successful.
2026-01-12 08:38:48,841 - app.clients.bloomberg_client - INFO - ✅ Found existing kernel: bc27f3b1-b028-434a-99fa-c1cad4495a87 (remote_env)
2026-01-12 08:38:48,892 - app.clients.bloomberg_client - INFO - ✅ WebSocket connected.
2026-01-12 08:38:48,892 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=50, Msg=数据源连接成功, Progress=10%
2026-01-12 08:38:49,179 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=50, Msg=正在连接 Bloomberg 终端..., Progress=20%
2026-01-12 08:38:49,424 - app.clients.bloomberg_client - INFO - 🚀 Starting fetch for: 2503 JP Equity
2026-01-12 08:38:49,424 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=50, Msg=Starting Bloomberg session..., Progress=20%
2026-01-12 08:38:49,723 - app.clients.bloomberg_client - INFO - Fetching Basic Data...
2026-01-12 08:38:49,723 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=50, Msg=Fetching Company Basic Info..., Progress=27%
2026-01-12 08:38:51,005 - app.clients.bloomberg_client - INFO - ✅ Parsed 2 items from remote.
2026-01-12 08:38:51,593 - app.clients.bloomberg_client - INFO - ✅ Saved 2 records to database.
2026-01-12 08:38:51,594 - app.clients.bloomberg_client - INFO - Using auto-detected currency: JPY
2026-01-12 08:38:51,594 - app.clients.bloomberg_client - INFO - Fetching Currency Data...
2026-01-12 08:38:51,594 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=50, Msg=正在获取货币指标 (JPY)..., Progress=41%
2026-01-12 08:38:52,587 - app.clients.bloomberg_client - INFO - ✅ Parsed 331 items from remote.
2026-01-12 08:39:02,351 - app.clients.bloomberg_client - INFO - ✅ Saved 331 records to database.
2026-01-12 08:39:02,354 - app.clients.bloomberg_client - INFO - Fetching Non-Currency Data...
2026-01-12 08:39:02,354 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=50, Msg=正在获取非货币指标..., Progress=55%
2026-01-12 08:39:03,417 - app.clients.bloomberg_client - INFO - ✅ Parsed 382 items from remote.
2026-01-12 08:39:14,223 - app.clients.bloomberg_client - INFO - ✅ Saved 382 records to database.
2026-01-12 08:39:14,224 - app.clients.bloomberg_client - INFO - Fetching Price Data (Aligned)...
2026-01-12 08:39:14,225 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=50, Msg=正在获取价格指标..., Progress=69%
2026-01-12 08:39:14,707 - app.clients.bloomberg_client - INFO - Found 14 revenue reporting dates. Fetching aligned price data...
2026-01-12 08:39:20,704 - app.clients.bloomberg_client - INFO - ✅ Parsed 42 items from remote.
2026-01-12 08:39:22,410 - app.clients.bloomberg_client - INFO - ✅ Saved 42 records to database.
2026-01-12 08:39:22,411 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=50, Msg=Finalizing data..., Progress=82%
2026-01-12 08:39:22,999 - app.clients.bloomberg_client - INFO - ✅ Cleanup and View Refresh completed.
2026-01-12 08:39:23,000 - app.clients.bloomberg_client - INFO - ✅ Completed processing for 2503 JP Equity
2026-01-12 08:39:23,000 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=50, Msg=Bloomberg data sync complete, Progress=90%
2026-01-12 08:39:23,269 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=50, Msg=Bloomberg 数据同步完成, Progress=100%
2026-01-12 08:39:31,217 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=51, Msg=正在初始化数据获取..., Progress=0%
2026-01-12 08:39:31,485 - app.clients.bloomberg_client - INFO - Connecting to Jupyter at http://192.168.3.161:8888...
2026-01-12 08:39:31,706 - app.clients.bloomberg_client - INFO - ✅ Authentication successful.
2026-01-12 08:39:31,733 - app.clients.bloomberg_client - INFO - ✅ Found existing kernel: bc27f3b1-b028-434a-99fa-c1cad4495a87 (remote_env)
2026-01-12 08:39:31,785 - app.clients.bloomberg_client - INFO - ✅ WebSocket connected.
2026-01-12 08:39:31,786 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=51, Msg=数据源连接成功, Progress=10%
2026-01-12 08:39:32,035 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=51, Msg=正在连接 Bloomberg 终端..., Progress=20%
2026-01-12 08:39:32,286 - app.clients.bloomberg_client - INFO - 🚀 Starting fetch for: 2503 JP Equity
2026-01-12 08:39:32,286 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=51, Msg=Starting Bloomberg session..., Progress=20%
2026-01-12 08:39:32,593 - app.clients.bloomberg_client - INFO - Fetching Basic Data...
2026-01-12 08:39:32,593 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=51, Msg=Fetching Company Basic Info..., Progress=27%
2026-01-12 08:39:33,771 - app.clients.bloomberg_client - INFO - ✅ Parsed 2 items from remote.
2026-01-12 08:39:34,217 - app.clients.bloomberg_client - INFO - ✅ Saved 2 records to database.
2026-01-12 08:39:34,218 - app.clients.bloomberg_client - INFO - Using auto-detected currency: JPY
2026-01-12 08:39:34,218 - app.clients.bloomberg_client - INFO - Fetching Currency Data...
2026-01-12 08:39:34,218 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=51, Msg=正在获取货币指标 (JPY)..., Progress=41%
2026-01-12 08:39:35,121 - app.clients.bloomberg_client - INFO - ✅ Parsed 331 items from remote.
2026-01-12 08:39:44,689 - app.clients.bloomberg_client - INFO - ✅ Saved 331 records to database.
2026-01-12 08:39:44,690 - app.clients.bloomberg_client - INFO - Fetching Non-Currency Data...
2026-01-12 08:39:44,691 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=51, Msg=正在获取非货币指标..., Progress=55%
2026-01-12 08:39:45,574 - app.clients.bloomberg_client - INFO - ✅ Parsed 382 items from remote.
2026-01-12 08:39:55,843 - app.clients.bloomberg_client - INFO - ✅ Saved 382 records to database.
2026-01-12 08:39:55,845 - app.clients.bloomberg_client - INFO - Fetching Price Data (Aligned)...
2026-01-12 08:39:55,845 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=51, Msg=正在获取价格指标..., Progress=69%
2026-01-12 08:39:56,105 - app.clients.bloomberg_client - INFO - Found 14 revenue reporting dates. Fetching aligned price data...
2026-01-12 08:40:02,124 - app.clients.bloomberg_client - INFO - ✅ Parsed 42 items from remote.
2026-01-12 08:40:03,440 - app.clients.bloomberg_client - INFO - ✅ Saved 42 records to database.
2026-01-12 08:40:03,441 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=51, Msg=Finalizing data..., Progress=82%
2026-01-12 08:40:04,197 - app.clients.bloomberg_client - INFO - ✅ Cleanup and View Refresh completed.
2026-01-12 08:40:04,197 - app.clients.bloomberg_client - INFO - ✅ Completed processing for 2503 JP Equity
2026-01-12 08:40:04,197 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=51, Msg=Bloomberg data sync complete, Progress=90%
2026-01-12 08:40:04,447 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=51, Msg=Bloomberg 数据同步完成, Progress=100%
2026-01-12 08:40:18,684 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=52, Msg=正在初始化数据获取..., Progress=0%
2026-01-12 08:40:18,940 - app.clients.bloomberg_client - INFO - Connecting to Jupyter at http://192.168.3.161:8888...
2026-01-12 08:40:19,174 - app.clients.bloomberg_client - INFO - ✅ Authentication successful.
2026-01-12 08:40:19,206 - app.clients.bloomberg_client - INFO - ✅ Found existing kernel: bc27f3b1-b028-434a-99fa-c1cad4495a87 (remote_env)
2026-01-12 08:40:19,405 - app.clients.bloomberg_client - INFO - ✅ WebSocket connected.
2026-01-12 08:40:19,406 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=52, Msg=数据源连接成功, Progress=10%
2026-01-12 08:40:19,653 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=52, Msg=正在连接 Bloomberg 终端..., Progress=20%
2026-01-12 08:40:19,900 - app.clients.bloomberg_client - INFO - 🚀 Starting fetch for: 2503 JP Equity
2026-01-12 08:40:19,901 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=52, Msg=Starting Bloomberg session..., Progress=20%
2026-01-12 08:40:20,212 - app.clients.bloomberg_client - INFO - Fetching Basic Data...
2026-01-12 08:40:20,212 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=52, Msg=Fetching Company Basic Info..., Progress=27%
2026-01-12 08:40:21,392 - app.clients.bloomberg_client - INFO - ✅ Parsed 2 items from remote.
2026-01-12 08:40:21,956 - app.clients.bloomberg_client - INFO - ✅ Saved 2 records to database.
2026-01-12 08:40:21,956 - app.clients.bloomberg_client - INFO - Using auto-detected currency: JPY
2026-01-12 08:40:21,956 - app.clients.bloomberg_client - INFO - Fetching Currency Data...
2026-01-12 08:40:21,957 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=52, Msg=正在获取货币指标 (JPY)..., Progress=41%
2026-01-12 08:40:22,751 - app.clients.bloomberg_client - INFO - ✅ Parsed 331 items from remote.
2026-01-12 08:40:33,054 - app.clients.bloomberg_client - INFO - ✅ Saved 331 records to database.
2026-01-12 08:40:33,056 - app.clients.bloomberg_client - INFO - Fetching Non-Currency Data...
2026-01-12 08:40:33,057 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=52, Msg=正在获取非货币指标..., Progress=55%
2026-01-12 08:40:34,013 - app.clients.bloomberg_client - INFO - ✅ Parsed 382 items from remote.
2026-01-12 08:40:45,644 - app.clients.bloomberg_client - INFO - ✅ Saved 382 records to database.
2026-01-12 08:40:45,647 - app.clients.bloomberg_client - INFO - Fetching Price Data (Aligned)...
2026-01-12 08:40:45,647 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=52, Msg=正在获取价格指标..., Progress=69%
2026-01-12 08:40:45,903 - app.clients.bloomberg_client - INFO - Found 14 revenue reporting dates. Fetching aligned price data...
2026-01-12 08:40:51,580 - app.clients.bloomberg_client - INFO - ✅ Parsed 42 items from remote.
2026-01-12 08:40:53,077 - app.clients.bloomberg_client - INFO - ✅ Saved 42 records to database.
2026-01-12 08:40:53,092 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=52, Msg=Finalizing data..., Progress=82%
2026-01-12 08:40:53,882 - app.clients.bloomberg_client - INFO - ✅ Cleanup and View Refresh completed.
2026-01-12 08:40:53,883 - app.clients.bloomberg_client - INFO - ✅ Completed processing for 2503 JP Equity
2026-01-12 08:40:53,883 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=52, Msg=Bloomberg data sync complete, Progress=90%
2026-01-12 08:40:54,126 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=52, Msg=Bloomberg 数据同步完成, Progress=100%
2026-01-12 08:43:24,711 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=53, Msg=正在初始化数据获取..., Progress=0%
2026-01-12 08:43:25,139 - app.clients.bloomberg_client - INFO - Connecting to Jupyter at http://192.168.3.161:8888...
2026-01-12 08:43:25,365 - app.clients.bloomberg_client - INFO - ✅ Authentication successful.
2026-01-12 08:43:25,393 - app.clients.bloomberg_client - INFO - ✅ Found existing kernel: bc27f3b1-b028-434a-99fa-c1cad4495a87 (remote_env)
2026-01-12 08:43:25,442 - app.clients.bloomberg_client - INFO - ✅ WebSocket connected.
2026-01-12 08:43:25,442 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=53, Msg=数据源连接成功, Progress=10%
2026-01-12 08:43:25,702 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=53, Msg=正在连接 Bloomberg 终端..., Progress=20%
2026-01-12 08:43:25,971 - app.clients.bloomberg_client - INFO - 🚀 Starting fetch for: 2503 JP Equity
2026-01-12 08:43:25,971 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=53, Msg=Starting Bloomberg session..., Progress=20%
2026-01-12 08:43:26,469 - app.clients.bloomberg_client - INFO - Fetching Basic Data...
2026-01-12 08:43:26,469 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=53, Msg=Fetching Company Basic Info..., Progress=27%
2026-01-12 08:43:27,652 - app.clients.bloomberg_client - INFO - ✅ Parsed 2 items from remote.
2026-01-12 08:43:28,341 - app.clients.bloomberg_client - INFO - ✅ Saved 2 records to database.
2026-01-12 08:43:28,342 - app.clients.bloomberg_client - INFO - Using forced currency: USD
2026-01-12 08:43:28,342 - app.clients.bloomberg_client - INFO - Fetching Currency Data...
2026-01-12 08:43:28,342 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=53, Msg=正在获取货币指标 (USD)..., Progress=41%
2026-01-12 08:43:29,720 - app.clients.bloomberg_client - INFO - ✅ Parsed 331 items from remote.
2026-01-12 08:43:39,230 - app.clients.bloomberg_client - INFO - ✅ Saved 331 records to database.
2026-01-12 08:43:39,232 - app.clients.bloomberg_client - INFO - Fetching Non-Currency Data...
2026-01-12 08:43:39,232 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=53, Msg=正在获取非货币指标..., Progress=55%
2026-01-12 08:43:40,229 - app.clients.bloomberg_client - INFO - ✅ Parsed 382 items from remote.
2026-01-12 08:43:50,591 - app.clients.bloomberg_client - INFO - ✅ Saved 382 records to database.
2026-01-12 08:43:50,593 - app.clients.bloomberg_client - INFO - Fetching Price Data (Aligned)...
2026-01-12 08:43:50,593 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=53, Msg=正在获取价格指标..., Progress=69%
2026-01-12 08:43:50,851 - app.clients.bloomberg_client - INFO - Found 14 revenue reporting dates. Fetching aligned price data...
2026-01-12 08:43:56,659 - app.clients.bloomberg_client - INFO - ✅ Parsed 42 items from remote.
2026-01-12 08:43:58,108 - app.clients.bloomberg_client - INFO - ✅ Saved 42 records to database.
2026-01-12 08:43:58,109 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=53, Msg=Finalizing data..., Progress=82%
2026-01-12 08:43:58,702 - app.clients.bloomberg_client - INFO - ✅ Cleanup and View Refresh completed.
2026-01-12 08:43:58,703 - app.clients.bloomberg_client - INFO - ✅ Completed processing for 2503 JP Equity
2026-01-12 08:43:58,703 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=53, Msg=Bloomberg data sync complete, Progress=90%
2026-01-12 08:43:58,998 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=53, Msg=Bloomberg 数据同步完成, Progress=100%
2026-01-12 09:30:47,629 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=54, Msg=正在初始化数据获取..., Progress=0%
2026-01-12 09:30:48,117 - app.clients.bloomberg_client - INFO - Connecting to Jupyter at http://192.168.3.161:8888...
2026-01-12 09:30:48,341 - app.clients.bloomberg_client - INFO - ✅ Authentication successful.
2026-01-12 09:30:48,532 - app.clients.bloomberg_client - INFO - ✅ Found existing kernel: bc27f3b1-b028-434a-99fa-c1cad4495a87 (remote_env)
2026-01-12 09:30:48,587 - app.clients.bloomberg_client - INFO - ✅ WebSocket connected.
2026-01-12 09:30:48,588 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=54, Msg=数据源连接成功, Progress=10%
2026-01-12 09:30:48,836 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=54, Msg=正在连接 Bloomberg 终端..., Progress=20%
2026-01-12 09:30:49,112 - app.clients.bloomberg_client - INFO - 🚀 Starting fetch for: 2503 JP Equity
2026-01-12 09:30:49,112 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=54, Msg=Starting Bloomberg session..., Progress=20%
2026-01-12 09:30:49,445 - app.clients.bloomberg_client - INFO - Fetching Basic Data...
2026-01-12 09:30:49,445 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=54, Msg=Fetching Company Basic Info..., Progress=27%
2026-01-12 09:30:50,731 - app.clients.bloomberg_client - INFO - ✅ Parsed 2 items from remote.
2026-01-12 09:30:51,108 - app.clients.bloomberg_client - INFO - ✅ Saved 2 records to database.
2026-01-12 09:30:51,109 - app.clients.bloomberg_client - INFO - Using forced currency: CNY
2026-01-12 09:30:51,109 - app.clients.bloomberg_client - INFO - Fetching Currency Data...
2026-01-12 09:30:51,109 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=54, Msg=正在获取货币指标 (CNY)..., Progress=41%
2026-01-12 09:30:52,131 - app.clients.bloomberg_client - INFO - ✅ Parsed 331 items from remote.
2026-01-12 09:31:03,562 - app.clients.bloomberg_client - INFO - ✅ Saved 331 records to database.
2026-01-12 09:31:03,563 - app.clients.bloomberg_client - INFO - Fetching Non-Currency Data...
2026-01-12 09:31:03,564 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=54, Msg=正在获取非货币指标..., Progress=55%
2026-01-12 09:31:04,637 - app.clients.bloomberg_client - INFO - ✅ Parsed 382 items from remote.
2026-01-12 09:31:16,853 - app.clients.bloomberg_client - INFO - ✅ Saved 382 records to database.
2026-01-12 09:31:16,854 - app.clients.bloomberg_client - INFO - Fetching Price Data (Aligned)...
2026-01-12 09:31:16,855 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=54, Msg=正在获取价格指标..., Progress=69%
2026-01-12 09:31:17,130 - app.clients.bloomberg_client - INFO - Found 14 revenue reporting dates. Fetching aligned price data...
2026-01-12 09:31:23,659 - app.clients.bloomberg_client - INFO - ✅ Parsed 42 items from remote.
2026-01-12 09:31:25,896 - app.clients.bloomberg_client - INFO - ✅ Saved 42 records to database.
2026-01-12 09:31:25,896 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=54, Msg=Finalizing data..., Progress=82%
2026-01-12 09:31:26,487 - app.clients.bloomberg_client - INFO - ✅ Cleanup and View Refresh completed.
2026-01-12 09:31:26,489 - app.clients.bloomberg_client - INFO - ✅ Completed processing for 2503 JP Equity
2026-01-12 09:31:26,490 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=54, Msg=Bloomberg data sync complete, Progress=90%
2026-01-12 09:31:26,791 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=54, Msg=Bloomberg 数据同步完成, Progress=100%
2026-01-12 10:15:52,800 - app.main - INFO - 🔍 [搜索] 开始搜索股票: 三一国际
2026-01-12 10:15:53,105 - app.main - INFO - 🤖 [搜索-LLM] 调用 gemini-2.5-flash 进行股票搜索
2026-01-12 10:15:53,112 - google_genai.models - INFO - AFC is enabled with max remote calls: 10.
2026-01-12 10:15:57,833 - httpx - INFO - HTTP Request: POST https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash:generateContent "HTTP/1.1 200 OK"
2026-01-12 10:15:57,856 - app.main - INFO - ✅ [搜索-LLM] 模型响应完成, 耗时: 4.75秒, Tokens: prompt=166, completion=78, total=244
2026-01-12 10:15:57,857 - app.main - INFO - ✅ [搜索] 搜索完成, 找到 1 个结果, 总耗时: 5.05秒
2026-01-12 10:16:22,607 - app.main - INFO - 🔍 [搜索] 开始搜索股票: 三一国际
2026-01-12 10:16:22,609 - app.main - INFO - 🤖 [搜索-LLM] 调用 gemini-2.5-flash 进行股票搜索
2026-01-12 10:16:22,611 - google_genai.models - INFO - AFC is enabled with max remote calls: 10.
2026-01-12 10:16:26,693 - httpx - INFO - HTTP Request: POST https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash:generateContent "HTTP/1.1 200 OK"
2026-01-12 10:16:26,716 - app.main - INFO - ✅ [搜索-LLM] 模型响应完成, 耗时: 4.11秒, Tokens: prompt=166, completion=78, total=244
2026-01-12 10:16:26,717 - app.main - INFO - ✅ [搜索] 搜索完成, 找到 1 个结果, 总耗时: 4.11秒
2026-01-12 10:39:45,586 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=55, Msg=正在初始化数据获取..., Progress=0%
2026-01-12 10:39:46,580 - app.clients.bloomberg_client - INFO - Connecting to Jupyter at http://192.168.3.161:8888...
2026-01-12 10:39:47,135 - app.clients.bloomberg_client - INFO - ✅ Authentication successful.
2026-01-12 10:39:47,166 - app.clients.bloomberg_client - INFO - ✅ Found existing kernel: bc27f3b1-b028-434a-99fa-c1cad4495a87 (remote_env)
2026-01-12 10:39:47,228 - app.clients.bloomberg_client - INFO - ✅ WebSocket connected.
2026-01-12 10:39:47,228 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=55, Msg=数据源连接成功, Progress=10%
2026-01-12 10:39:47,502 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=55, Msg=正在连接 Bloomberg 终端..., Progress=20%
2026-01-12 10:39:47,936 - app.clients.bloomberg_client - INFO - 🚀 Starting fetch for: SAB VN Equity
2026-01-12 10:39:47,937 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=55, Msg=Starting Bloomberg session..., Progress=20%
2026-01-12 10:39:48,418 - app.clients.bloomberg_client - INFO - Fetching Basic Data...
2026-01-12 10:39:48,418 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=55, Msg=Fetching Company Basic Info..., Progress=27%
2026-01-12 10:39:50,974 - app.clients.bloomberg_client - INFO - ✅ Parsed 2 items from remote.
2026-01-12 10:39:51,644 - app.clients.bloomberg_client - INFO - ✅ Saved 2 records to database.
2026-01-12 10:39:51,645 - app.clients.bloomberg_client - INFO - Using forced currency: CNY
2026-01-12 10:39:51,645 - app.clients.bloomberg_client - INFO - Fetching Currency Data...
2026-01-12 10:39:51,646 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=55, Msg=正在获取货币指标 (CNY)..., Progress=41%
2026-01-12 10:39:53,556 - app.clients.bloomberg_client - INFO - ✅ Parsed 275 items from remote.
2026-01-12 10:40:05,191 - app.clients.bloomberg_client - INFO - ✅ Saved 275 records to database.
2026-01-12 10:40:05,201 - app.clients.bloomberg_client - INFO - Fetching Non-Currency Data...
2026-01-12 10:40:05,201 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=55, Msg=正在获取非货币指标..., Progress=55%
2026-01-12 10:40:06,376 - app.clients.bloomberg_client - INFO - ✅ Parsed 290 items from remote.
2026-01-12 10:40:18,886 - app.clients.bloomberg_client - INFO - ✅ Saved 290 records to database.
2026-01-12 10:40:18,888 - app.clients.bloomberg_client - INFO - Fetching Price Data (Aligned)...
2026-01-12 10:40:18,888 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=55, Msg=正在获取价格指标..., Progress=69%
2026-01-12 10:40:19,463 - app.clients.bloomberg_client - INFO - Found 11 revenue reporting dates. Fetching aligned price data...
2026-01-12 10:40:24,699 - app.clients.bloomberg_client - INFO - ✅ Parsed 27 items from remote.
2026-01-12 10:40:26,363 - app.clients.bloomberg_client - INFO - ✅ Saved 27 records to database.
2026-01-12 10:40:26,366 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=55, Msg=Finalizing data..., Progress=82%
2026-01-12 10:40:27,693 - app.clients.bloomberg_client - INFO - ✅ Cleanup and View Refresh completed.
2026-01-12 10:40:27,694 - app.clients.bloomberg_client - INFO - ✅ Completed processing for SAB VN Equity
2026-01-12 10:40:27,694 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=55, Msg=Bloomberg data sync complete, Progress=90%
2026-01-12 10:40:28,421 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=55, Msg=Bloomberg 数据同步完成, Progress=100%
2026-01-12 10:42:39,579 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=56, Msg=正在初始化数据获取..., Progress=0%
2026-01-12 10:42:39,887 - app.clients.bloomberg_client - INFO - Connecting to Jupyter at http://192.168.3.161:8888...
2026-01-12 10:42:40,132 - app.clients.bloomberg_client - INFO - ✅ Authentication successful.
2026-01-12 10:42:40,160 - app.clients.bloomberg_client - INFO - ✅ Found existing kernel: bc27f3b1-b028-434a-99fa-c1cad4495a87 (remote_env)
2026-01-12 10:42:41,230 - app.clients.bloomberg_client - INFO - ✅ WebSocket connected.
2026-01-12 10:42:41,231 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=56, Msg=数据源连接成功, Progress=10%
2026-01-12 10:42:42,048 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=56, Msg=正在连接 Bloomberg 终端..., Progress=20%
2026-01-12 10:42:42,308 - app.clients.bloomberg_client - INFO - 🚀 Starting fetch for: SAB VN Equity
2026-01-12 10:42:42,309 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=56, Msg=Starting Bloomberg session..., Progress=20%
2026-01-12 10:42:42,624 - app.clients.bloomberg_client - INFO - Fetching Basic Data...
2026-01-12 10:42:42,625 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=56, Msg=Fetching Company Basic Info..., Progress=27%
2026-01-12 10:42:43,914 - app.clients.bloomberg_client - INFO - ✅ Parsed 2 items from remote.
2026-01-12 10:42:44,298 - app.clients.bloomberg_client - INFO - ✅ Saved 2 records to database.
2026-01-12 10:42:44,299 - app.clients.bloomberg_client - INFO - Using forced currency: USD
2026-01-12 10:42:44,299 - app.clients.bloomberg_client - INFO - Fetching Currency Data...
2026-01-12 10:42:44,299 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=56, Msg=正在获取货币指标 (USD)..., Progress=41%
2026-01-12 10:42:45,638 - app.clients.bloomberg_client - INFO - ✅ Parsed 275 items from remote.
2026-01-12 10:42:59,116 - app.clients.bloomberg_client - INFO - ✅ Saved 275 records to database.
2026-01-12 10:42:59,117 - app.clients.bloomberg_client - INFO - Fetching Non-Currency Data...
2026-01-12 10:42:59,118 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=56, Msg=正在获取非货币指标..., Progress=55%
2026-01-12 10:43:00,410 - app.clients.bloomberg_client - INFO - ✅ Parsed 290 items from remote.
2026-01-12 10:43:13,907 - app.clients.bloomberg_client - INFO - ✅ Saved 290 records to database.
2026-01-12 10:43:13,908 - app.clients.bloomberg_client - INFO - Fetching Price Data (Aligned)...
2026-01-12 10:43:13,909 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=56, Msg=正在获取价格指标..., Progress=69%
2026-01-12 10:43:14,174 - app.clients.bloomberg_client - INFO - Found 11 revenue reporting dates. Fetching aligned price data...
2026-01-12 10:43:19,382 - app.clients.bloomberg_client - INFO - ✅ Parsed 27 items from remote.
2026-01-12 10:43:20,821 - app.clients.bloomberg_client - INFO - ✅ Saved 27 records to database.
2026-01-12 10:43:20,821 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=56, Msg=Finalizing data..., Progress=82%
2026-01-12 10:43:21,609 - app.clients.bloomberg_client - INFO - ✅ Cleanup and View Refresh completed.
2026-01-12 10:43:21,609 - app.clients.bloomberg_client - INFO - ✅ Completed processing for SAB VN Equity
2026-01-12 10:43:21,609 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=56, Msg=Bloomberg data sync complete, Progress=90%
2026-01-12 10:43:21,873 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=56, Msg=Bloomberg 数据同步完成, Progress=100%
2026-01-12 10:58:49,794 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=57, Msg=正在初始化数据获取..., Progress=0%
2026-01-12 10:58:50,395 - app.clients.bloomberg_client - INFO - Connecting to Jupyter at http://192.168.3.161:8888...
2026-01-12 10:58:50,649 - app.clients.bloomberg_client - INFO - ✅ Authentication successful.
2026-01-12 10:58:50,676 - app.clients.bloomberg_client - INFO - ✅ Found existing kernel: bc27f3b1-b028-434a-99fa-c1cad4495a87 (remote_env)
2026-01-12 10:58:50,734 - app.clients.bloomberg_client - INFO - ✅ WebSocket connected.
2026-01-12 10:58:50,734 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=57, Msg=数据源连接成功, Progress=10%
2026-01-12 10:58:50,996 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=57, Msg=正在连接 Bloomberg 终端..., Progress=20%
2026-01-12 10:58:51,414 - app.clients.bloomberg_client - INFO - 🚀 Starting fetch for: 2503 JP Equity
2026-01-12 10:58:51,414 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=57, Msg=Starting Bloomberg session..., Progress=20%
2026-01-12 10:58:51,864 - app.clients.bloomberg_client - INFO - Using forced currency: CNY
2026-01-12 10:58:51,864 - app.clients.bloomberg_client - INFO - Fetching Basic Data...
2026-01-12 10:58:51,864 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=57, Msg=Fetching Company Basic Info..., Progress=27%
2026-01-12 10:58:53,027 - app.clients.bloomberg_client - INFO - ✅ Parsed 2 items from remote.
2026-01-12 10:58:53,435 - app.clients.bloomberg_client - INFO - ✅ Saved 2 records to database.
2026-01-12 10:58:53,435 - app.clients.bloomberg_client - INFO - Fetching Currency Data...
2026-01-12 10:58:53,436 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=57, Msg=正在获取货币指标 (CNY)..., Progress=41%
2026-01-12 10:58:54,938 - app.clients.bloomberg_client - INFO - ✅ Parsed 215 items from remote.
2026-01-12 10:59:04,571 - app.clients.bloomberg_client - INFO - ✅ Saved 215 records to database.
2026-01-12 10:59:04,583 - app.clients.bloomberg_client - INFO - Fetching Non-Currency Data...
2026-01-12 10:59:04,584 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=57, Msg=正在获取非货币指标..., Progress=55%
2026-01-12 10:59:05,645 - app.clients.bloomberg_client - INFO - ✅ Parsed 260 items from remote.
2026-01-12 10:59:16,477 - app.clients.bloomberg_client - INFO - ✅ Saved 260 records to database.
2026-01-12 10:59:16,477 - app.clients.bloomberg_client - INFO - Fetching Price Data (Aligned)...
2026-01-12 10:59:16,478 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=57, Msg=正在获取价格指标..., Progress=69%
2026-01-12 10:59:17,032 - app.clients.bloomberg_client - INFO - Found 9 revenue reporting dates. Fetching aligned price data...
2026-01-12 10:59:20,896 - app.clients.bloomberg_client - INFO - ✅ Parsed 27 items from remote.
2026-01-12 10:59:22,712 - app.clients.bloomberg_client - INFO - ✅ Saved 27 records to database.
2026-01-12 10:59:22,713 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=57, Msg=Finalizing data..., Progress=82%
2026-01-12 10:59:23,316 - app.clients.bloomberg_client - INFO - ✅ Cleanup and View Refresh completed.
2026-01-12 10:59:23,317 - app.clients.bloomberg_client - INFO - ✅ Completed processing for 2503 JP Equity
2026-01-12 10:59:23,317 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=57, Msg=Bloomberg data sync complete, Progress=90%
2026-01-12 10:59:23,593 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=57, Msg=Bloomberg 数据同步完成, Progress=100%
2026-01-12 11:00:00,129 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=58, Msg=正在初始化数据获取..., Progress=0%
2026-01-12 11:00:00,711 - app.clients.bloomberg_client - INFO - Connecting to Jupyter at http://192.168.3.161:8888...
2026-01-12 11:00:01,085 - app.clients.bloomberg_client - INFO - ✅ Authentication successful.
2026-01-12 11:00:01,113 - app.clients.bloomberg_client - INFO - ✅ Found existing kernel: bc27f3b1-b028-434a-99fa-c1cad4495a87 (remote_env)
2026-01-12 11:00:01,164 - app.clients.bloomberg_client - INFO - ✅ WebSocket connected.
2026-01-12 11:00:01,165 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=58, Msg=数据源连接成功, Progress=10%
2026-01-12 11:00:01,426 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=58, Msg=正在连接 Bloomberg 终端..., Progress=20%
2026-01-12 11:00:01,773 - app.clients.bloomberg_client - INFO - 🚀 Starting fetch for: 2503 JP Equity
2026-01-12 11:00:01,773 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=58, Msg=Starting Bloomberg session..., Progress=20%
2026-01-12 11:00:02,544 - app.clients.bloomberg_client - INFO - Using forced currency: USD
2026-01-12 11:00:02,545 - app.clients.bloomberg_client - INFO - Fetching Basic Data...
2026-01-12 11:00:02,545 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=58, Msg=Fetching Company Basic Info..., Progress=27%
2026-01-12 11:00:03,720 - app.clients.bloomberg_client - INFO - ✅ Parsed 2 items from remote.
2026-01-12 11:00:04,112 - app.clients.bloomberg_client - INFO - ✅ Saved 2 records to database.
2026-01-12 11:00:04,113 - app.clients.bloomberg_client - INFO - Fetching Currency Data...
2026-01-12 11:00:04,113 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=58, Msg=正在获取货币指标 (USD)..., Progress=41%
2026-01-12 11:00:05,964 - app.clients.bloomberg_client - INFO - ✅ Parsed 215 items from remote.
2026-01-12 11:00:16,994 - app.clients.bloomberg_client - INFO - ✅ Saved 215 records to database.
2026-01-12 11:00:16,996 - app.clients.bloomberg_client - INFO - Fetching Non-Currency Data...
2026-01-12 11:00:16,996 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=58, Msg=正在获取非货币指标..., Progress=55%
2026-01-12 11:00:18,214 - app.clients.bloomberg_client - INFO - ✅ Parsed 260 items from remote.
2026-01-12 11:00:31,167 - app.clients.bloomberg_client - INFO - ✅ Saved 260 records to database.
2026-01-12 11:00:31,169 - app.clients.bloomberg_client - INFO - Fetching Price Data (Aligned)...
2026-01-12 11:00:31,170 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=58, Msg=正在获取价格指标..., Progress=69%
2026-01-12 11:00:32,027 - app.clients.bloomberg_client - INFO - Found 9 revenue reporting dates. Fetching aligned price data...
2026-01-12 11:00:36,241 - app.clients.bloomberg_client - INFO - ✅ Parsed 27 items from remote.
2026-01-12 11:00:38,065 - app.clients.bloomberg_client - INFO - ✅ Saved 27 records to database.
2026-01-12 11:00:38,066 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=58, Msg=Finalizing data..., Progress=82%
2026-01-12 11:00:39,407 - app.clients.bloomberg_client - INFO - ✅ Cleanup and View Refresh completed.
2026-01-12 11:00:39,407 - app.clients.bloomberg_client - INFO - ✅ Completed processing for 2503 JP Equity
2026-01-12 11:00:39,408 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=58, Msg=Bloomberg data sync complete, Progress=90%
2026-01-12 11:00:39,748 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=58, Msg=Bloomberg 数据同步完成, Progress=100%
2026-01-12 11:44:44,232 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=59, Msg=正在初始化数据获取..., Progress=0%
2026-01-12 11:44:44,905 - app.clients.bloomberg_client - INFO - Connecting to Jupyter at http://192.168.3.161:8888...
2026-01-12 11:44:46,453 - app.clients.bloomberg_client - INFO - ✅ Authentication successful.
2026-01-12 11:44:46,649 - app.clients.bloomberg_client - INFO - ✅ Found existing kernel: bc27f3b1-b028-434a-99fa-c1cad4495a87 (remote_env)
2026-01-12 11:44:47,699 - app.clients.bloomberg_client - INFO - ✅ WebSocket connected.
2026-01-12 11:44:47,700 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=59, Msg=数据源连接成功, Progress=10%
2026-01-12 11:44:49,420 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=59, Msg=正在连接 Bloomberg 终端..., Progress=20%
2026-01-12 11:44:49,979 - app.clients.bloomberg_client - INFO - 🚀 Starting fetch for: 2503 JP Equity
2026-01-12 11:44:49,979 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=59, Msg=Starting Bloomberg session..., Progress=20%
2026-01-12 11:44:50,331 - app.clients.bloomberg_client - INFO - Using forced currency: CNY
2026-01-12 11:44:50,331 - app.clients.bloomberg_client - INFO - Fetching Basic Data...
2026-01-12 11:44:50,331 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=59, Msg=Fetching Company Basic Info..., Progress=27%
2026-01-12 11:44:52,345 - app.clients.bloomberg_client - INFO - ✅ Parsed 2 items from remote.
2026-01-12 11:44:53,037 - app.clients.bloomberg_client - INFO - ✅ Saved 2 records to database.
2026-01-12 11:44:53,038 - app.clients.bloomberg_client - INFO - Fetching Currency Data...
2026-01-12 11:44:53,038 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=59, Msg=正在获取货币指标 (CNY)..., Progress=41%
2026-01-12 11:44:54,522 - app.clients.bloomberg_client - INFO - ✅ Parsed 215 items from remote.
2026-01-12 11:45:08,541 - app.clients.bloomberg_client - INFO - ✅ Saved 215 records to database.
2026-01-12 11:45:08,543 - app.clients.bloomberg_client - INFO - Fetching Non-Currency Data...
2026-01-12 11:45:08,543 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=59, Msg=正在获取非货币指标..., Progress=55%
2026-01-12 11:45:09,996 - app.clients.bloomberg_client - INFO - ✅ Parsed 260 items from remote.
2026-01-12 11:45:25,647 - app.clients.bloomberg_client - INFO - ✅ Saved 260 records to database.
2026-01-12 11:45:25,649 - app.clients.bloomberg_client - INFO - Fetching Price Data (Aligned)...
2026-01-12 11:45:25,649 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=59, Msg=正在获取价格指标..., Progress=69%
2026-01-12 11:45:26,793 - app.clients.bloomberg_client - INFO - Found 9 revenue reporting dates. Fetching aligned price data...
2026-01-12 11:45:38,250 - app.clients.bloomberg_client - INFO - ✅ Parsed 27 items from remote.
2026-01-12 11:45:40,155 - app.clients.bloomberg_client - INFO - ✅ Saved 27 records to database.
2026-01-12 11:45:40,156 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=59, Msg=Finalizing data..., Progress=82%
2026-01-12 11:45:40,960 - app.clients.bloomberg_client - INFO - ✅ Cleanup and View Refresh completed.
2026-01-12 11:45:40,960 - app.clients.bloomberg_client - INFO - ✅ Completed processing for 2503 JP Equity
2026-01-12 11:45:40,961 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=59, Msg=Bloomberg data sync complete, Progress=90%
2026-01-12 11:45:41,250 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=59, Msg=Bloomberg 数据同步完成, Progress=100%
2026-01-12 11:46:08,013 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=60, Msg=正在初始化数据获取..., Progress=0%
2026-01-12 11:46:09,230 - app.clients.bloomberg_client - INFO - Connecting to Jupyter at http://192.168.3.161:8888...
2026-01-12 11:46:09,490 - app.clients.bloomberg_client - INFO - ✅ Authentication successful.
2026-01-12 11:46:09,518 - app.clients.bloomberg_client - INFO - ✅ Found existing kernel: bc27f3b1-b028-434a-99fa-c1cad4495a87 (remote_env)
2026-01-12 11:46:10,578 - app.clients.bloomberg_client - INFO - ✅ WebSocket connected.
2026-01-12 11:46:10,579 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=60, Msg=数据源连接成功, Progress=10%
2026-01-12 11:46:10,856 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=60, Msg=正在连接 Bloomberg 终端..., Progress=20%
2026-01-12 11:46:11,445 - app.clients.bloomberg_client - INFO - 🚀 Starting fetch for: 2503 JP Equity
2026-01-12 11:46:11,446 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=60, Msg=Starting Bloomberg session..., Progress=20%
2026-01-12 11:46:12,525 - app.clients.bloomberg_client - INFO - Using forced currency: USD
2026-01-12 11:46:12,525 - app.clients.bloomberg_client - INFO - Fetching Basic Data...
2026-01-12 11:46:12,525 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=60, Msg=Fetching Company Basic Info..., Progress=27%
2026-01-12 11:46:14,513 - app.clients.bloomberg_client - INFO - ✅ Parsed 2 items from remote.
2026-01-12 11:46:15,921 - app.clients.bloomberg_client - INFO - ✅ Saved 2 records to database.
2026-01-12 11:46:15,922 - app.clients.bloomberg_client - INFO - Fetching Currency Data...
2026-01-12 11:46:15,922 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=60, Msg=正在获取货币指标 (USD)..., Progress=41%
2026-01-12 11:46:17,800 - app.clients.bloomberg_client - INFO - ✅ Parsed 215 items from remote.
2026-01-12 11:46:35,038 - app.clients.bloomberg_client - INFO - ✅ Saved 215 records to database.
2026-01-12 11:46:35,039 - app.clients.bloomberg_client - INFO - Fetching Non-Currency Data...
2026-01-12 11:46:35,039 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=60, Msg=正在获取非货币指标..., Progress=55%
2026-01-12 11:46:35,982 - app.clients.bloomberg_client - INFO - ✅ Parsed 260 items from remote.
2026-01-12 11:46:52,433 - app.clients.bloomberg_client - INFO - ✅ Saved 260 records to database.
2026-01-12 11:46:52,440 - app.clients.bloomberg_client - INFO - Fetching Price Data (Aligned)...
2026-01-12 11:46:52,440 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=60, Msg=正在获取价格指标..., Progress=69%
2026-01-12 11:46:53,034 - app.clients.bloomberg_client - INFO - Found 9 revenue reporting dates. Fetching aligned price data...
2026-01-12 11:47:04,398 - app.clients.bloomberg_client - INFO - ✅ Parsed 27 items from remote.
2026-01-12 11:47:07,274 - app.clients.bloomberg_client - INFO - ✅ Saved 27 records to database.
2026-01-12 11:47:07,275 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=60, Msg=Finalizing data..., Progress=82%
2026-01-12 11:47:08,374 - app.clients.bloomberg_client - INFO - ✅ Cleanup and View Refresh completed.
2026-01-12 11:47:08,375 - app.clients.bloomberg_client - INFO - ✅ Completed processing for 2503 JP Equity
2026-01-12 11:47:08,375 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=60, Msg=Bloomberg data sync complete, Progress=90%
2026-01-12 11:47:09,101 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=60, Msg=Bloomberg 数据同步完成, Progress=100%
2026-01-12 11:51:11,068 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=61, Msg=正在初始化数据获取..., Progress=0%
2026-01-12 11:51:11,648 - app.clients.bloomberg_client - INFO - Connecting to Jupyter at http://192.168.3.161:8888...
2026-01-12 11:51:14,081 - app.clients.bloomberg_client - INFO - ✅ Authentication successful.
2026-01-12 11:51:14,108 - app.clients.bloomberg_client - INFO - ✅ Found existing kernel: bc27f3b1-b028-434a-99fa-c1cad4495a87 (remote_env)
2026-01-12 11:51:14,173 - app.clients.bloomberg_client - INFO - ✅ WebSocket connected.
2026-01-12 11:51:14,173 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=61, Msg=数据源连接成功, Progress=10%
2026-01-12 11:51:15,149 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=61, Msg=正在连接 Bloomberg 终端..., Progress=20%
2026-01-12 11:51:16,055 - app.clients.bloomberg_client - INFO - 🚀 Starting fetch for: 2503 JP Equity
2026-01-12 11:51:16,056 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=61, Msg=Starting Bloomberg session..., Progress=20%
2026-01-12 11:51:16,516 - app.clients.bloomberg_client - INFO - Using forced currency: CNY
2026-01-12 11:51:16,516 - app.clients.bloomberg_client - INFO - Fetching Basic Data...
2026-01-12 11:51:16,516 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=61, Msg=Fetching Company Basic Info..., Progress=27%
2026-01-12 11:51:18,000 - app.clients.bloomberg_client - INFO - ✅ Parsed 2 items from remote.
2026-01-12 11:51:20,192 - app.clients.bloomberg_client - INFO - ✅ Saved 2 records to database.
2026-01-12 11:51:20,193 - app.clients.bloomberg_client - INFO - Fetching Currency Data...
2026-01-12 11:51:20,193 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=61, Msg=正在获取货币指标 (CNY)..., Progress=41%
2026-01-12 11:51:21,634 - app.clients.bloomberg_client - INFO - ✅ Parsed 215 items from remote.
2026-01-12 11:51:38,825 - app.clients.bloomberg_client - INFO - ✅ Saved 215 records to database.
2026-01-12 11:51:38,827 - app.clients.bloomberg_client - INFO - Fetching Non-Currency Data...
2026-01-12 11:51:38,827 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=61, Msg=正在获取非货币指标..., Progress=55%
2026-01-12 11:51:39,821 - app.clients.bloomberg_client - INFO - ✅ Parsed 260 items from remote.
2026-01-12 11:51:58,838 - app.clients.bloomberg_client - INFO - ✅ Saved 260 records to database.
2026-01-12 11:51:58,839 - app.clients.bloomberg_client - INFO - Fetching Price Data (Aligned)...
2026-01-12 11:51:58,839 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=61, Msg=正在获取价格指标..., Progress=69%
2026-01-12 11:51:59,168 - app.clients.bloomberg_client - INFO - Fetching aligned price data for 11 dates (Revenue + Calendar Years)...
2026-01-12 11:52:13,001 - app.clients.bloomberg_client - INFO - ✅ Parsed 31 items from remote.
2026-01-12 11:52:15,056 - app.clients.bloomberg_client - INFO - ✅ Saved 31 records to database.
2026-01-12 11:52:15,057 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=61, Msg=Finalizing data..., Progress=82%
2026-01-12 11:52:17,040 - app.clients.bloomberg_client - INFO - ✅ Cleanup and View Refresh completed.
2026-01-12 11:52:17,040 - app.clients.bloomberg_client - INFO - ✅ Completed processing for 2503 JP Equity
2026-01-12 11:52:17,041 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=61, Msg=Bloomberg data sync complete, Progress=90%
2026-01-12 11:52:17,481 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=61, Msg=Bloomberg 数据同步完成, Progress=100%
2026-01-12 12:00:46,984 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=62, Msg=正在初始化数据获取..., Progress=0%
2026-01-12 12:00:47,396 - app.clients.bloomberg_client - INFO - Connecting to Jupyter at http://192.168.3.161:8888...
2026-01-12 12:00:47,788 - app.clients.bloomberg_client - INFO - ✅ Authentication successful.
2026-01-12 12:00:47,817 - app.clients.bloomberg_client - INFO - ✅ Found existing kernel: bc27f3b1-b028-434a-99fa-c1cad4495a87 (remote_env)
2026-01-12 12:00:48,022 - app.clients.bloomberg_client - INFO - ✅ WebSocket connected.
2026-01-12 12:00:48,022 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=62, Msg=数据源连接成功, Progress=10%
2026-01-12 12:00:48,956 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=62, Msg=正在连接 Bloomberg 终端..., Progress=20%
2026-01-12 12:00:50,482 - app.clients.bloomberg_client - INFO - 🚀 Starting fetch for: 2503 JP Equity
2026-01-12 12:00:50,483 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=62, Msg=Starting Bloomberg session..., Progress=20%
2026-01-12 12:00:50,789 - app.clients.bloomberg_client - INFO - Using forced currency: CNY
2026-01-12 12:00:50,789 - app.clients.bloomberg_client - INFO - Fetching Basic Data...
2026-01-12 12:00:50,789 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=62, Msg=Fetching Company Basic Info..., Progress=27%
2026-01-12 12:00:52,248 - app.clients.bloomberg_client - INFO - ✅ Parsed 2 items from remote.
2026-01-12 12:00:53,025 - app.clients.bloomberg_client - INFO - ✅ Saved 2 records to database.
2026-01-12 12:00:53,025 - app.clients.bloomberg_client - INFO - Fetching Currency Data...
2026-01-12 12:00:53,025 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=62, Msg=正在获取货币指标 (CNY)..., Progress=41%
2026-01-12 12:00:53,859 - app.clients.bloomberg_client - INFO - ✅ Parsed 215 items from remote.
2026-01-12 12:01:11,603 - app.clients.bloomberg_client - INFO - ✅ Saved 215 records to database.
2026-01-12 12:01:11,605 - app.clients.bloomberg_client - INFO - Fetching Non-Currency Data...
2026-01-12 12:01:11,605 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=62, Msg=正在获取非货币指标..., Progress=55%
2026-01-12 12:01:13,691 - app.clients.bloomberg_client - INFO - ✅ Parsed 260 items from remote.
2026-01-12 12:01:33,012 - app.clients.bloomberg_client - INFO - ✅ Saved 260 records to database.
2026-01-12 12:01:33,012 - app.clients.bloomberg_client - INFO - Fetching Price Data (Aligned)...
2026-01-12 12:01:33,012 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=62, Msg=正在获取价格指标..., Progress=69%
2026-01-12 12:01:33,424 - app.clients.bloomberg_client - INFO - Found 9 revenue reporting dates. Fetching aligned price data...
2026-01-12 12:01:44,341 - app.clients.bloomberg_client - INFO - ✅ Parsed 27 items from remote.
2026-01-12 12:01:46,319 - app.clients.bloomberg_client - INFO - ✅ Saved 27 records to database.
2026-01-12 12:01:46,320 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=62, Msg=Finalizing data..., Progress=82%
2026-01-12 12:01:47,279 - app.clients.bloomberg_client - INFO - ✅ Cleanup and View Refresh completed.
2026-01-12 12:01:47,280 - app.clients.bloomberg_client - INFO - ✅ Completed processing for 2503 JP Equity
2026-01-12 12:01:47,280 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=62, Msg=Bloomberg data sync complete, Progress=90%
2026-01-12 12:01:48,004 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=62, Msg=Bloomberg 数据同步完成, Progress=100%
2026-01-12 12:03:53,293 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=63, Msg=正在初始化数据获取..., Progress=0%
2026-01-12 12:03:54,343 - app.clients.bloomberg_client - INFO - Connecting to Jupyter at http://192.168.3.161:8888...
2026-01-12 12:03:54,619 - app.clients.bloomberg_client - INFO - ✅ Authentication successful.
2026-01-12 12:03:54,647 - app.clients.bloomberg_client - INFO - ✅ Found existing kernel: bc27f3b1-b028-434a-99fa-c1cad4495a87 (remote_env)
2026-01-12 12:03:54,699 - app.clients.bloomberg_client - INFO - ✅ WebSocket connected.
2026-01-12 12:03:54,699 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=63, Msg=数据源连接成功, Progress=10%
2026-01-12 12:03:55,171 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=63, Msg=正在连接 Bloomberg 终端..., Progress=20%
2026-01-12 12:03:55,838 - app.clients.bloomberg_client - INFO - 🚀 Starting fetch for: 2503 JP Equity
2026-01-12 12:03:55,839 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=63, Msg=Starting Bloomberg session..., Progress=20%
2026-01-12 12:03:56,708 - app.clients.bloomberg_client - INFO - Using forced currency: CNY
2026-01-12 12:03:56,709 - app.clients.bloomberg_client - INFO - Fetching Basic Data...
2026-01-12 12:03:56,709 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=63, Msg=Fetching Company Basic Info..., Progress=27%
2026-01-12 12:03:58,922 - app.clients.bloomberg_client - INFO - ✅ Parsed 2 items from remote.
2026-01-12 12:04:01,068 - app.clients.bloomberg_client - INFO - ✅ Saved 2 records to database.
2026-01-12 12:04:01,069 - app.clients.bloomberg_client - INFO - Fetching Currency Data...
2026-01-12 12:04:01,069 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=63, Msg=正在获取货币指标 (CNY)..., Progress=41%
2026-01-12 12:04:02,937 - app.clients.bloomberg_client - INFO - ✅ Parsed 215 items from remote.
2026-01-12 12:04:16,817 - app.clients.bloomberg_client - INFO - ✅ Saved 215 records to database.
2026-01-12 12:04:16,818 - app.clients.bloomberg_client - INFO - Fetching Non-Currency Data...
2026-01-12 12:04:16,819 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=63, Msg=正在获取非货币指标..., Progress=55%
2026-01-12 12:04:19,637 - app.clients.bloomberg_client - INFO - ✅ Parsed 260 items from remote.
2026-01-12 12:04:40,482 - app.clients.bloomberg_client - INFO - ✅ Saved 260 records to database.
2026-01-12 12:04:40,482 - app.clients.bloomberg_client - INFO - Fetching Price Data (Aligned)...
2026-01-12 12:04:40,482 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=63, Msg=正在获取价格指标..., Progress=69%
2026-01-12 12:04:41,016 - app.clients.bloomberg_client - INFO - Found 9 revenue reporting dates. Fetching aligned price data...
2026-01-12 12:04:53,208 - app.clients.bloomberg_client - INFO - ✅ Parsed 27 items from remote.
2026-01-12 12:04:53,210 - app.clients.bloomberg_client - INFO - 💾 [DEBUG] Saving Market_Cap: Date=2024-12-31, Value=86988.3177, Currency=CNY
2026-01-12 12:04:53,210 - app.clients.bloomberg_client - INFO - 💾 [DEBUG] Saving Market_Cap: Date=2023-12-31, Value=95209.9289, Currency=CNY
2026-01-12 12:04:53,211 - app.clients.bloomberg_client - INFO - 💾 [DEBUG] Saving Market_Cap: Date=2022-12-31, Value=96786.4997, Currency=CNY
2026-01-12 12:04:53,211 - app.clients.bloomberg_client - INFO - 💾 [DEBUG] Saving Market_Cap: Date=2021-12-31, Value=93410.0414, Currency=CNY
2026-01-12 12:04:53,211 - app.clients.bloomberg_client - INFO - 💾 [DEBUG] Saving Market_Cap: Date=2020-12-31, Value=140556.4302, Currency=CNY
2026-01-12 12:04:53,211 - app.clients.bloomberg_client - INFO - 💾 [DEBUG] Saving Market_Cap: Date=2019-12-31, Value=140163.3311, Currency=CNY
2026-01-12 12:04:53,211 - app.clients.bloomberg_client - INFO - 💾 [DEBUG] Saving Market_Cap: Date=2018-12-31, Value=130875.1203, Currency=CNY
2026-01-12 12:04:53,211 - app.clients.bloomberg_client - INFO - 💾 [DEBUG] Saving Market_Cap: Date=2017-12-31, Value=150051.5647, Currency=CNY
2026-01-12 12:04:53,211 - app.clients.bloomberg_client - INFO - 💾 [DEBUG] Saving Market_Cap: Date=2016-12-31, Value=103403.6124, Currency=CNY
2026-01-12 12:04:58,064 - app.clients.bloomberg_client - INFO - ✅ Saved 27 records to database.
2026-01-12 12:04:58,064 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=63, Msg=Finalizing data..., Progress=82%
2026-01-12 12:05:01,647 - app.clients.bloomberg_client - INFO - ✅ Cleanup and View Refresh completed.
2026-01-12 12:05:01,647 - app.clients.bloomberg_client - INFO - ✅ Completed processing for 2503 JP Equity
2026-01-12 12:05:01,648 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=63, Msg=Bloomberg data sync complete, Progress=90%
2026-01-12 12:05:01,910 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=63, Msg=Bloomberg 数据同步完成, Progress=100%
2026-01-12 12:09:12,429 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=64, Msg=正在初始化数据获取..., Progress=0%
2026-01-12 12:09:12,942 - app.clients.bloomberg_client - INFO - Connecting to Jupyter at http://192.168.3.161:8888...
2026-01-12 12:09:14,418 - app.clients.bloomberg_client - INFO - ✅ Authentication successful.
2026-01-12 12:09:14,447 - app.clients.bloomberg_client - INFO - ✅ Found existing kernel: bc27f3b1-b028-434a-99fa-c1cad4495a87 (remote_env)
2026-01-12 12:09:14,497 - app.clients.bloomberg_client - INFO - ✅ WebSocket connected.
2026-01-12 12:09:14,498 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=64, Msg=数据源连接成功, Progress=10%
2026-01-12 12:09:15,071 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=64, Msg=正在连接 Bloomberg 终端..., Progress=20%
2026-01-12 12:09:15,661 - app.clients.bloomberg_client - INFO - 🚀 Starting fetch for: 2503 JP Equity
2026-01-12 12:09:15,661 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=64, Msg=Starting Bloomberg session..., Progress=20%
2026-01-12 12:09:16,492 - app.clients.bloomberg_client - INFO - Using forced currency: CNY
2026-01-12 12:09:16,495 - app.clients.bloomberg_client - INFO - Fetching Basic Data...
2026-01-12 12:09:16,495 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=64, Msg=Fetching Company Basic Info..., Progress=27%
2026-01-12 12:09:18,548 - app.clients.bloomberg_client - INFO - ✅ Parsed 2 items from remote.
2026-01-12 12:09:20,215 - app.clients.bloomberg_client - INFO - ✅ Saved 2 records to database.
2026-01-12 12:09:20,215 - app.clients.bloomberg_client - INFO - Fetching Currency Data...
2026-01-12 12:09:20,215 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=64, Msg=正在获取货币指标 (CNY)..., Progress=41%
2026-01-12 12:09:21,781 - app.clients.bloomberg_client - INFO - ✅ Parsed 215 items from remote.
2026-01-12 12:09:40,266 - app.clients.bloomberg_client - INFO - ✅ Saved 215 records to database.
2026-01-12 12:09:40,268 - app.clients.bloomberg_client - INFO - Fetching Non-Currency Data...
2026-01-12 12:09:40,269 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=64, Msg=正在获取非货币指标..., Progress=55%
2026-01-12 12:09:41,884 - app.clients.bloomberg_client - INFO - ✅ Parsed 260 items from remote.
2026-01-12 12:10:05,761 - app.clients.bloomberg_client - INFO - ✅ Saved 260 records to database.
2026-01-12 12:10:05,766 - app.clients.bloomberg_client - INFO - Fetching Price Data (Aligned)...
2026-01-12 12:10:05,766 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=64, Msg=正在获取价格指标..., Progress=69%
2026-01-12 12:10:07,309 - app.clients.bloomberg_client - INFO - Found 9 revenue reporting dates. Fetching aligned price data...
2026-01-12 12:10:17,887 - app.clients.bloomberg_client - INFO - ✅ Parsed 27 items from remote.
2026-01-12 12:10:17,887 - app.clients.bloomberg_client - INFO - 💾 [DEBUG] Saving Market_Cap: Date=2024-12-31, Value=86988.3177, Currency=CNY
2026-01-12 12:10:17,887 - app.clients.bloomberg_client - INFO - 💾 [DEBUG] Saving Market_Cap: Date=2023-12-31, Value=95209.9289, Currency=CNY
2026-01-12 12:10:17,887 - app.clients.bloomberg_client - INFO - 💾 [DEBUG] Saving Market_Cap: Date=2022-12-31, Value=96786.4997, Currency=CNY
2026-01-12 12:10:17,887 - app.clients.bloomberg_client - INFO - 💾 [DEBUG] Saving Market_Cap: Date=2021-12-31, Value=93410.0414, Currency=CNY
2026-01-12 12:10:17,887 - app.clients.bloomberg_client - INFO - 💾 [DEBUG] Saving Market_Cap: Date=2020-12-31, Value=140556.4302, Currency=CNY
2026-01-12 12:10:17,887 - app.clients.bloomberg_client - INFO - 💾 [DEBUG] Saving Market_Cap: Date=2019-12-31, Value=140163.3311, Currency=CNY
2026-01-12 12:10:17,887 - app.clients.bloomberg_client - INFO - 💾 [DEBUG] Saving Market_Cap: Date=2018-12-31, Value=130875.1203, Currency=CNY
2026-01-12 12:10:17,887 - app.clients.bloomberg_client - INFO - 💾 [DEBUG] Saving Market_Cap: Date=2017-12-31, Value=150051.5647, Currency=CNY
2026-01-12 12:10:17,887 - app.clients.bloomberg_client - INFO - 💾 [DEBUG] Saving Market_Cap: Date=2016-12-31, Value=103403.6124, Currency=CNY
2026-01-12 12:10:21,706 - app.clients.bloomberg_client - INFO - ✅ Saved 27 records to database.
2026-01-12 12:10:21,708 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=64, Msg=Finalizing data..., Progress=82%
2026-01-12 12:10:25,944 - app.clients.bloomberg_client - INFO - ✅ Cleanup and View Refresh completed.
2026-01-12 12:10:25,945 - app.clients.bloomberg_client - INFO - ✅ Completed processing for 2503 JP Equity
2026-01-12 12:10:25,945 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=64, Msg=Bloomberg data sync complete, Progress=90%
2026-01-12 12:10:26,424 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=64, Msg=Bloomberg 数据同步完成, Progress=100%
2026-01-12 12:17:20,087 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=65, Msg=正在初始化数据获取..., Progress=0%
2026-01-12 12:17:21,105 - app.clients.bloomberg_client - INFO - Connecting to Jupyter at http://192.168.3.161:8888...
2026-01-12 12:17:22,164 - app.clients.bloomberg_client - INFO - ✅ Authentication successful.
2026-01-12 12:17:22,194 - app.clients.bloomberg_client - INFO - ✅ Found existing kernel: bc27f3b1-b028-434a-99fa-c1cad4495a87 (remote_env)
2026-01-12 12:17:22,251 - app.clients.bloomberg_client - INFO - ✅ WebSocket connected.
2026-01-12 12:17:22,251 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=65, Msg=数据源连接成功, Progress=10%
2026-01-12 12:17:23,267 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=65, Msg=正在连接 Bloomberg 终端..., Progress=20%
2026-01-12 12:17:23,545 - app.clients.bloomberg_client - INFO - 🚀 Starting fetch for: 2503 JP Equity
2026-01-12 12:17:23,545 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=65, Msg=Starting Bloomberg session..., Progress=20%
2026-01-12 12:17:25,394 - app.clients.bloomberg_client - INFO - Using forced currency: CNY
2026-01-12 12:17:25,395 - app.clients.bloomberg_client - INFO - Fetching Basic Data...
2026-01-12 12:17:25,395 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=65, Msg=Fetching Company Basic Info..., Progress=27%
2026-01-12 12:17:27,481 - app.clients.bloomberg_client - INFO - ✅ Parsed 2 items from remote.
2026-01-12 12:17:27,481 - app.clients.bloomberg_client - INFO - DEBUG: basic_data before save: [{'Company_code': '2503 JP Equity', 'update_date': '2026-01-12', 'currency': 'CNY', 'indicator': 'dividend_yield', 'value': '3.1230217345431526', 'value_date': '2026-01-12'}, {'Company_code': '2503 JP Equity', 'update_date': '2026-01-12', 'currency': 'CNY', 'indicator': 'IPO_date', 'value': 'None', 'value_date': '2026-01-12'}]
2026-01-12 12:17:29,452 - app.clients.bloomberg_client - INFO - ✅ Saved 2 records to database.
2026-01-12 12:17:29,452 - app.clients.bloomberg_client - INFO - Fetching Currency Data...
2026-01-12 12:17:29,452 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=65, Msg=正在获取货币指标 (CNY)..., Progress=41%
2026-01-12 12:17:31,460 - app.clients.bloomberg_client - INFO - ✅ Parsed 215 items from remote.
2026-01-12 12:17:52,620 - app.clients.bloomberg_client - INFO - ✅ Saved 215 records to database.
2026-01-12 12:17:52,623 - app.clients.bloomberg_client - INFO - Fetching Non-Currency Data...
2026-01-12 12:17:52,623 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=65, Msg=正在获取非货币指标..., Progress=55%
2026-01-12 12:17:54,783 - app.clients.bloomberg_client - INFO - ✅ Parsed 260 items from remote.
2026-01-12 12:18:31,861 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=66, Msg=正在初始化数据获取..., Progress=0%
2026-01-12 12:18:33,349 - app.clients.bloomberg_client - INFO - Connecting to Jupyter at http://192.168.3.161:8888...
2026-01-12 12:18:34,339 - app.clients.bloomberg_client - INFO - ✅ Authentication successful.
2026-01-12 12:18:34,372 - app.clients.bloomberg_client - INFO - ✅ Found existing kernel: bc27f3b1-b028-434a-99fa-c1cad4495a87 (remote_env)
2026-01-12 12:18:34,432 - app.clients.bloomberg_client - INFO - ✅ WebSocket connected.
2026-01-12 12:18:34,432 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=66, Msg=数据源连接成功, Progress=10%
2026-01-12 12:18:35,690 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=66, Msg=正在连接 Bloomberg 终端..., Progress=20%
2026-01-12 12:18:36,255 - app.clients.bloomberg_client - INFO - 🚀 Starting fetch for: 2503 JP Equity
2026-01-12 12:18:36,256 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=66, Msg=Starting Bloomberg session..., Progress=20%
2026-01-12 12:18:38,442 - app.clients.bloomberg_client - INFO - Using forced currency: CNY
2026-01-12 12:18:38,443 - app.clients.bloomberg_client - INFO - Fetching Basic Data...
2026-01-12 12:18:38,443 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=66, Msg=Fetching Company Basic Info..., Progress=27%
2026-01-12 12:18:40,961 - app.clients.bloomberg_client - INFO - ✅ Parsed 2 items from remote.
2026-01-12 12:18:40,961 - app.clients.bloomberg_client - INFO - DEBUG: basic_data before save: [{'Company_code': '2503 JP Equity', 'update_date': '2026-01-12 12:18:41', 'currency': 'CNY', 'indicator': 'dividend_yield', 'value': '3.1230217345431526', 'value_date': '2026-01-12 12:18:41'}, {'Company_code': '2503 JP Equity', 'update_date': '2026-01-12 12:18:41', 'currency': 'CNY', 'indicator': 'IPO_date', 'value': 'None', 'value_date': '2026-01-12 12:18:41'}]
2026-01-12 12:18:42,433 - app.clients.bloomberg_client - INFO - ✅ Saved 2 records to database.
2026-01-12 12:18:42,434 - app.clients.bloomberg_client - INFO - Fetching Currency Data...
2026-01-12 12:18:42,434 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=66, Msg=正在获取货币指标 (CNY)..., Progress=41%
2026-01-12 12:18:44,354 - app.clients.bloomberg_client - INFO - ✅ Parsed 215 items from remote.
2026-01-12 12:19:05,814 - app.clients.bloomberg_client - INFO - ✅ Saved 215 records to database.
2026-01-12 12:19:05,819 - app.clients.bloomberg_client - INFO - Fetching Non-Currency Data...
2026-01-12 12:19:05,820 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=66, Msg=正在获取非货币指标..., Progress=55%
2026-01-12 12:19:07,418 - app.clients.bloomberg_client - INFO - ✅ Parsed 260 items from remote.
2026-01-12 12:19:27,370 - app.clients.bloomberg_client - INFO - ✅ Saved 260 records to database.
2026-01-12 12:19:27,371 - app.clients.bloomberg_client - INFO - Fetching Price Data (Aligned)...
2026-01-12 12:19:27,371 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=66, Msg=正在获取价格指标..., Progress=69%
2026-01-12 12:19:28,080 - app.clients.bloomberg_client - INFO - Found 9 revenue reporting dates. Fetching aligned price data...
2026-01-12 12:19:39,293 - app.clients.bloomberg_client - INFO - ✅ Parsed 27 items from remote.
2026-01-12 12:19:43,961 - app.clients.bloomberg_client - INFO - ✅ Saved 27 records to database.
2026-01-12 12:19:43,962 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=66, Msg=Finalizing data..., Progress=82%
2026-01-12 12:19:45,511 - app.clients.bloomberg_client - INFO - ✅ Cleanup and View Refresh completed.
2026-01-12 12:19:45,512 - app.clients.bloomberg_client - INFO - ✅ Completed processing for 2503 JP Equity
2026-01-12 12:19:45,512 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=66, Msg=Bloomberg data sync complete, Progress=90%
2026-01-12 12:19:47,693 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=66, Msg=Bloomberg 数据同步完成, Progress=100%
2026-01-12 13:39:22,650 - app.main - INFO - 🔍 [搜索] 开始搜索股票: 三一国际
2026-01-12 13:39:22,724 - app.main - INFO - 🤖 [搜索-LLM] 调用 gemini-2.5-flash 进行股票搜索
2026-01-12 13:39:22,724 - google_genai.models - INFO - AFC is enabled with max remote calls: 10.
2026-01-12 13:39:27,383 - httpx - INFO - HTTP Request: POST https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash:generateContent "HTTP/1.1 200 OK"
2026-01-12 13:39:27,390 - app.main - INFO - ✅ [搜索-LLM] 模型响应完成, 耗时: 4.67秒, Tokens: prompt=166, completion=78, total=244
2026-01-12 13:39:27,391 - app.main - INFO - ✅ [搜索] 搜索完成, 找到 1 个结果, 总耗时: 4.74秒
2026-01-12 13:39:35,605 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=67, Msg=正在初始化数据获取..., Progress=0%
2026-01-12 13:39:36,193 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=67, Msg=数据获取失败: invalid syntax. Perhaps you forgot a comma? (bloomberg_client.py, line 587), Progress=0%
2026-01-12 13:54:13,489 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=68, Msg=正在初始化数据获取..., Progress=0%
2026-01-12 13:54:13,853 - app.clients.bloomberg_client - INFO - Connecting to Jupyter at http://192.168.3.161:8888...
2026-01-12 13:54:14,191 - app.clients.bloomberg_client - INFO - ✅ Authentication successful.
2026-01-12 13:54:14,229 - app.clients.bloomberg_client - INFO - ✅ Found existing kernel: bc27f3b1-b028-434a-99fa-c1cad4495a87 (remote_env)
2026-01-12 13:54:14,427 - app.clients.bloomberg_client - INFO - ✅ WebSocket connected.
2026-01-12 13:54:14,428 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=68, Msg=数据源连接成功, Progress=10%
2026-01-12 13:54:14,824 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=68, Msg=正在连接 Bloomberg 终端..., Progress=20%
2026-01-12 13:54:15,384 - app.clients.bloomberg_client - INFO - 🚀 Starting fetch for: 00631 HK Equity
2026-01-12 13:54:15,385 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=68, Msg=Starting Bloomberg session..., Progress=20%
2026-01-12 13:54:15,833 - app.clients.bloomberg_client - INFO - Using auto-detected currency: HKD
2026-01-12 13:54:15,834 - app.clients.bloomberg_client - INFO - Fetching Basic Data...
2026-01-12 13:54:15,834 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=68, Msg=Fetching Company Basic Info..., Progress=27%
2026-01-12 13:54:16,597 - app.clients.bloomberg_client - INFO - ✅ Parsed 0 items from remote.
2026-01-12 13:54:16,597 - app.clients.bloomberg_client - INFO - DEBUG: basic_data before save: []
2026-01-12 13:54:16,597 - app.clients.bloomberg_client - INFO - Fetching Currency Data...
2026-01-12 13:54:16,597 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=68, Msg=正在获取货币指标 (HKD)..., Progress=41%
2026-01-12 13:54:17,282 - app.clients.bloomberg_client - INFO - ✅ Parsed 0 items from remote.
2026-01-12 13:54:17,283 - app.clients.bloomberg_client - INFO - Fetching Non-Currency Data...
2026-01-12 13:54:17,284 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=68, Msg=正在获取非货币指标..., Progress=55%
2026-01-12 13:54:18,408 - app.clients.bloomberg_client - INFO - ✅ Parsed 0 items from remote.
2026-01-12 13:54:18,408 - app.clients.bloomberg_client - INFO - Fetching Price Data (Aligned)...
2026-01-12 13:54:18,408 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=68, Msg=正在获取价格指标..., Progress=69%
2026-01-12 13:54:18,668 - app.clients.bloomberg_client - WARNING - No revenue dates found. Falling back to yearly price fetch.
2026-01-12 13:54:18,986 - app.clients.bloomberg_client - INFO - ✅ Parsed 0 items from remote.
2026-01-12 13:54:18,986 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=68, Msg=Finalizing data..., Progress=82%
2026-01-12 13:54:20,042 - app.clients.bloomberg_client - INFO - ✅ Cleanup and View Refresh completed.
2026-01-12 13:54:20,042 - app.clients.bloomberg_client - INFO - ✅ Completed processing for 00631 HK Equity
2026-01-12 13:54:20,043 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=68, Msg=Bloomberg data sync complete, Progress=90%
2026-01-12 13:54:20,603 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=68, Msg=Bloomberg 数据同步完成, Progress=100%
2026-01-12 13:54:24,013 - app.services.bloomberg_service - WARNING - No Bloomberg data found for symbol: 00631
2026-01-12 13:54:24,293 - app.services.bloomberg_service - WARNING - No Bloomberg data found for symbol: 00631
2026-01-12 14:10:53,933 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=69, Msg=正在初始化数据获取..., Progress=0%
2026-01-12 14:10:54,645 - app.clients.bloomberg_client - INFO - Connecting to Jupyter at http://192.168.3.161:8888...
2026-01-12 14:10:55,044 - app.clients.bloomberg_client - INFO - ✅ Authentication successful.
2026-01-12 14:10:55,071 - app.clients.bloomberg_client - INFO - ✅ Found existing kernel: bc27f3b1-b028-434a-99fa-c1cad4495a87 (remote_env)
2026-01-12 14:10:55,123 - app.clients.bloomberg_client - INFO - ✅ WebSocket connected.
2026-01-12 14:10:55,124 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=69, Msg=数据源连接成功, Progress=10%
2026-01-12 14:10:55,677 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=69, Msg=正在连接 Bloomberg 终端..., Progress=20%
2026-01-12 14:10:55,939 - app.clients.bloomberg_client - INFO - 🚀 Starting fetch for: 631 HK Equity
2026-01-12 14:10:55,939 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=69, Msg=Starting Bloomberg session..., Progress=20%
2026-01-12 14:10:56,480 - app.clients.bloomberg_client - INFO - Using auto-detected currency: HKD
2026-01-12 14:10:56,481 - app.clients.bloomberg_client - INFO - Fetching Basic Data...
2026-01-12 14:10:56,481 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=69, Msg=Fetching Company Basic Info..., Progress=27%
2026-01-12 14:10:57,704 - app.clients.bloomberg_client - INFO - REMOTE RAW OUTPUT: JSON_START
[{"Company_code": "631 HK Equity", "update_date": "2026-01-12 14:10:58", "currency": "HKD", "indicator": "company_name", "value": "SANY HEAVY EQUIPMENT INTL", "value_date": "2026-01-12 14:10:58"}, {"Company_code": "631 HK Equity", "update_date": "2026-01-12 14:10:58", "currency": "HKD", "indicator": "pe_ratio", "value": "19.98882739476631", "value_date": "2026-01-12 14:10:58"}, {"Company_code": "631 HK Equity", "update_date": "2026-01-12 14:10:58", "currency": "HKD", "indicator": "pb_ratio", "value": "2.116312093386662", "value_date": "2026-01-12 14:10:58"}, {"Company_code": "631 HK Equity", "update_date": "2026-01-12 14:10:58", "currency": "HKD", "indicator": "market_cap", "value": "29705920767.51", "value_date": "2026-01-12 14:10:58"}, {"Company_code": "631 HK Equity", "update_date": "2026-01-12 14:10:58", "currency": "HKD", "indicator": "Rev_Abroad", "value": "37.287945521334656", "value_date": "2026-01-12 14:10:58"}, {"Company_code": "631 HK Equity", "update_date": "2026
2026-01-12 14:10:57,705 - app.clients.bloomberg_client - INFO - ✅ Parsed 7 items from remote.
2026-01-12 14:10:57,705 - app.clients.bloomberg_client - INFO - DEBUG: basic_data before save: [{'Company_code': '631 HK Equity', 'update_date': '2026-01-12 14:10:58', 'currency': 'HKD', 'indicator': 'company_name', 'value': 'SANY HEAVY EQUIPMENT INTL', 'value_date': '2026-01-12 14:10:58'}, {'Company_code': '631 HK Equity', 'update_date': '2026-01-12 14:10:58', 'currency': 'HKD', 'indicator': 'pe_ratio', 'value': '19.98882739476631', 'value_date': '2026-01-12 14:10:58'}, {'Company_code': '631 HK Equity', 'update_date': '2026-01-12 14:10:58', 'currency': 'HKD', 'indicator': 'pb_ratio', 'value': '2.116312093386662', 'value_date': '2026-01-12 14:10:58'}, {'Company_code': '631 HK Equity', 'update_date': '2026-01-12 14:10:58', 'currency': 'HKD', 'indicator': 'market_cap', 'value': '29705920767.51', 'value_date': '2026-01-12 14:10:58'}, {'Company_code': '631 HK Equity', 'update_date': '2026-01-12 14:10:58', 'currency': 'HKD', 'indicator': 'Rev_Abroad', 'value': '37.287945521334656', 'value_date': '2026-01-12 14:10:58'}, {'Company_code': '631 HK Equity', 'update_date': '2026-01-12 14:10:58', 'currency': 'HKD', 'indicator': 'dividend_yield', 'value': '3.1556038264999975', 'value_date': '2026-01-12 14:10:58'}, {'Company_code': '631 HK Equity', 'update_date': '2026-01-12 14:10:58', 'currency': 'HKD', 'indicator': 'IPO_date', 'value': '2009-11-25', 'value_date': '2026-01-12 14:10:58'}]
2026-01-12 14:10:58,534 - app.clients.bloomberg_client - INFO - ✅ Saved 7 records to database.
2026-01-12 14:10:58,534 - app.clients.bloomberg_client - INFO - Fetching Currency Data...
2026-01-12 14:10:58,534 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=69, Msg=正在获取货币指标 (HKD)..., Progress=41%
2026-01-12 14:10:59,715 - app.clients.bloomberg_client - INFO - REMOTE RAW OUTPUT: JSON_START
[{"Company_code": "631 HK Equity", "update_date": "2026-01-12 14:10:58", "currency": "HKD", "indicator": "Revenue", "value": "2152.9812", "value_date": "2016-12-31"}, {"Company_code": "631 HK Equity", "update_date": "2026-01-12 14:10:58", "currency": "HKD", "indicator": "Net_Income", "value": "-753.2314", "value_date": "2016-12-31"}, {"Company_code": "631 HK Equity", "update_date": "2026-01-12 14:10:58", "currency": "HKD", "indicator": "Cash_From_Operating", "value": "1557.419", "value_date": "2016-12-31"}, {"Company_code": "631 HK Equity", "update_date": "2026-01-12 14:10:58", "currency": "HKD", "indicator": "Capital_Expenditure", "value": "-179.3705", "value_date": "2016-12-31"}, {"Company_code": "631 HK Equity", "update_date": "2026-01-12 14:10:58", "currency": "HKD", "indicator": "Free_Cash_Flow", "value": "1378.0485", "value_date": "2016-12-31"}, {"Company_code": "631 HK Equity", "update_date": "2026-01-12 14:10:58", "currency": "HKD", "indicator": "Dividends_Paid", "va
2026-01-12 14:10:59,715 - app.clients.bloomberg_client - INFO - ✅ Parsed 216 items from remote.
2026-01-12 14:11:12,684 - app.clients.bloomberg_client - INFO - ✅ Saved 216 records to database.
2026-01-12 14:11:12,686 - app.clients.bloomberg_client - INFO - Fetching Non-Currency Data...
2026-01-12 14:11:12,686 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=69, Msg=正在获取非货币指标..., Progress=55%
2026-01-12 14:11:13,789 - app.clients.bloomberg_client - INFO - REMOTE RAW OUTPUT: JSON_START
[{"Company_code": "631 HK Equity", "update_date": "2026-01-12 14:11:12", "currency": "HKD", "indicator": "PE", "value": "111.1384", "value_date": "2016-12-30"}, {"Company_code": "631 HK Equity", "update_date": "2026-01-12 14:11:12", "currency": "HKD", "indicator": "PB", "value": "0.5588", "value_date": "2016-12-30"}, {"Company_code": "631 HK Equity", "update_date": "2026-01-12 14:11:12", "currency": "HKD", "indicator": "ROE", "value": "-10.132", "value_date": "2016-12-31"}, {"Company_code": "631 HK Equity", "update_date": "2026-01-12 14:11:12", "currency": "HKD", "indicator": "ROA", "value": "-6.0025", "value_date": "2016-12-31"}, {"Company_code": "631 HK Equity", "update_date": "2026-01-12 14:11:12", "currency": "HKD", "indicator": "Gross_Margin", "value": "14.994", "value_date": "2016-12-31"}, {"Company_code": "631 HK Equity", "update_date": "2026-01-12 14:11:12", "currency": "HKD", "indicator": "EBITDA_margin", "value": "-28.2708", "value_date": "2016-12-31"}, {"Company_c
2026-01-12 14:11:13,790 - app.clients.bloomberg_client - INFO - ✅ Parsed 219 items from remote.
2026-01-12 14:11:26,690 - app.clients.bloomberg_client - INFO - ✅ Saved 219 records to database.
2026-01-12 14:11:26,692 - app.clients.bloomberg_client - INFO - Fetching Price Data (Aligned)...
2026-01-12 14:11:26,692 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=69, Msg=正在获取价格指标..., Progress=69%
2026-01-12 14:11:26,975 - app.clients.bloomberg_client - INFO - Found 9 revenue reporting dates. Fetching aligned price data...
2026-01-12 14:11:37,480 - app.clients.bloomberg_client - INFO - REMOTE RAW OUTPUT: JSON_START
[{"Company_code": "631 HK Equity", "update_date": "2026-01-12 14:11:26", "currency": "HKD", "indicator": "Last_Price", "value": "4.51", "value_date": "2024-12-31"}, {"Company_code": "631 HK Equity", "update_date": "2026-01-12 14:11:26", "currency": "HKD", "indicator": "Market_Cap", "value": "14494.6462", "value_date": "2024-12-31"}, {"Company_code": "631 HK Equity", "update_date": "2026-01-12 14:11:26", "currency": "HKD", "indicator": "Dividend_Yield", "value": "4.2129", "value_date": "2024-12-31"}, {"Company_code": "631 HK Equity", "update_date": "2026-01-12 14:11:26", "currency": "HKD", "indicator": "Last_Price", "value": "7.55", "value_date": "2023-12-31"}, {"Company_code": "631 HK Equity", "update_date": "2026-01-12 14:11:26", "currency": "HKD", "indicator": "Market_Cap", "value": "24081.9354", "value_date": "2023-12-31"}, {"Company_code": "631 HK Equity", "update_date": "2026-01-12 14:11:26", "currency": "HKD", "indicator": "Dividend_Yield", "value": "2.5166", "value_da
2026-01-12 14:11:37,481 - app.clients.bloomberg_client - INFO - ✅ Parsed 25 items from remote.
2026-01-12 14:11:39,102 - app.clients.bloomberg_client - INFO - ✅ Saved 25 records to database.
2026-01-12 14:11:39,103 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=69, Msg=Finalizing data..., Progress=82%
2026-01-12 14:11:40,554 - app.clients.bloomberg_client - INFO - ✅ Cleanup and View Refresh completed.
2026-01-12 14:11:40,555 - app.clients.bloomberg_client - INFO - ✅ Completed processing for 631 HK Equity
2026-01-12 14:11:40,555 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=69, Msg=Bloomberg data sync complete, Progress=90%
2026-01-12 14:11:40,933 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=69, Msg=Bloomberg 数据同步完成, Progress=100%
2026-01-12 14:11:46,320 - app.services.bloomberg_service - WARNING - No Bloomberg data found for symbol: 00631
2026-01-12 14:12:08,829 - app.services.bloomberg_service - WARNING - No Bloomberg data found for symbol: 00631
2026-01-12 14:15:51,872 - app.services.bloomberg_service - WARNING - No Bloomberg data found for symbol: 00631
2026-01-12 14:22:58,914 - app.services.bloomberg_service - WARNING - No Bloomberg data found for symbol: 00631
2026-01-12 14:23:02,681 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=70, Msg=正在初始化数据获取..., Progress=0%
2026-01-12 14:23:03,405 - app.clients.bloomberg_client - INFO - Connecting to Jupyter at http://192.168.3.161:8888...
2026-01-12 14:23:03,673 - app.clients.bloomberg_client - INFO - ✅ Authentication successful.
2026-01-12 14:23:03,717 - app.clients.bloomberg_client - INFO - ✅ Found existing kernel: bc27f3b1-b028-434a-99fa-c1cad4495a87 (remote_env)
2026-01-12 14:23:03,914 - app.clients.bloomberg_client - INFO - ✅ WebSocket connected.
2026-01-12 14:23:03,914 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=70, Msg=数据源连接成功, Progress=10%
2026-01-12 14:23:04,185 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=70, Msg=正在连接 Bloomberg 终端..., Progress=20%
2026-01-12 14:23:04,628 - app.clients.bloomberg_client - INFO - 🚀 Starting fetch for: 00631 HK Equity
2026-01-12 14:23:04,628 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=70, Msg=Starting Bloomberg session..., Progress=20%
2026-01-12 14:23:05,408 - app.clients.bloomberg_client - INFO - Using auto-detected currency: HKD
2026-01-12 14:23:05,408 - app.clients.bloomberg_client - INFO - Fetching Basic Data...
2026-01-12 14:23:05,408 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=70, Msg=Fetching Company Basic Info..., Progress=27%
2026-01-12 14:23:06,372 - app.clients.bloomberg_client - INFO - REMOTE RAW OUTPUT: JSON_START
[{"Company_code": "00631 HK Equity", "update_date": "2026-01-12 14:23:06", "currency": "HKD", "indicator": "company_name", "value": "SANY HEAVY EQUIPMENT INTL", "value_date": "2026-01-12 14:23:06"}, {"Company_code": "00631 HK Equity", "update_date": "2026-01-12 14:23:06", "currency": "HKD", "indicator": "pe_ratio", "value": "20.052832333683007", "value_date": "2026-01-12 14:23:06"}, {"Company_code": "00631 HK Equity", "update_date": "2026-01-12 14:23:06", "currency": "HKD", "indicator": "pb_ratio", "value": "2.1230886002617653", "value_date": "2026-01-12 14:23:06"}, {"Company_code": "00631 HK Equity", "update_date": "2026-01-12 14:23:06", "currency": "HKD", "indicator": "market_cap", "value": "29802893305.38", "value_date": "2026-01-12 14:23:06"}, {"Company_code": "00631 HK Equity", "update_date": "2026-01-12 14:23:06", "currency": "HKD", "indicator": "Rev_Abroad", "value": "37.287945521334656", "value_date": "2026-01-12 14:23:06"}, {"Company_code": "00631 HK Equity", "updat
2026-01-12 14:23:06,373 - app.clients.bloomberg_client - INFO - ✅ Parsed 7 items from remote.
2026-01-12 14:23:06,373 - app.clients.bloomberg_client - INFO - DEBUG: basic_data before save: [{'Company_code': '00631 HK Equity', 'update_date': '2026-01-12 14:23:06', 'currency': 'HKD', 'indicator': 'company_name', 'value': 'SANY HEAVY EQUIPMENT INTL', 'value_date': '2026-01-12 14:23:06'}, {'Company_code': '00631 HK Equity', 'update_date': '2026-01-12 14:23:06', 'currency': 'HKD', 'indicator': 'pe_ratio', 'value': '20.052832333683007', 'value_date': '2026-01-12 14:23:06'}, {'Company_code': '00631 HK Equity', 'update_date': '2026-01-12 14:23:06', 'currency': 'HKD', 'indicator': 'pb_ratio', 'value': '2.1230886002617653', 'value_date': '2026-01-12 14:23:06'}, {'Company_code': '00631 HK Equity', 'update_date': '2026-01-12 14:23:06', 'currency': 'HKD', 'indicator': 'market_cap', 'value': '29802893305.38', 'value_date': '2026-01-12 14:23:06'}, {'Company_code': '00631 HK Equity', 'update_date': '2026-01-12 14:23:06', 'currency': 'HKD', 'indicator': 'Rev_Abroad', 'value': '37.287945521334656', 'value_date': '2026-01-12 14:23:06'}, {'Company_code': '00631 HK Equity', 'update_date': '2026-01-12 14:23:06', 'currency': 'HKD', 'indicator': 'dividend_yield', 'value': '3.145336135090561', 'value_date': '2026-01-12 14:23:06'}, {'Company_code': '00631 HK Equity', 'update_date': '2026-01-12 14:23:06', 'currency': 'HKD', 'indicator': 'IPO_date', 'value': '2009-11-25', 'value_date': '2026-01-12 14:23:06'}]
2026-01-12 14:23:07,870 - app.clients.bloomberg_client - INFO - ✅ Saved 7 records to database.
2026-01-12 14:23:07,871 - app.clients.bloomberg_client - INFO - Fetching Currency Data...
2026-01-12 14:23:07,871 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=70, Msg=正在获取货币指标 (HKD)..., Progress=41%
2026-01-12 14:23:08,272 - app.clients.bloomberg_client - ERROR - Error fetching currency series: name 'timedelta' is not defined
2026-01-12 14:23:08,273 - app.clients.bloomberg_client - INFO - Fetching Non-Currency Data...
2026-01-12 14:23:08,273 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=70, Msg=正在获取非货币指标..., Progress=55%
2026-01-12 14:23:09,053 - app.clients.bloomberg_client - ERROR - Error fetching non-currency series: name 'timedelta' is not defined
2026-01-12 14:23:09,053 - app.clients.bloomberg_client - INFO - Fetching Price Data (Aligned)...
2026-01-12 14:23:09,053 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=70, Msg=正在获取价格指标..., Progress=69%
2026-01-12 14:23:09,347 - app.clients.bloomberg_client - WARNING - No revenue dates found. Falling back to yearly price fetch.
2026-01-12 14:23:09,347 - app.clients.bloomberg_client - ERROR - Error fetching fallback price data: name 'timedelta' is not defined
2026-01-12 14:23:09,348 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=70, Msg=Finalizing data..., Progress=82%
2026-01-12 14:23:10,275 - app.clients.bloomberg_client - INFO - ✅ Cleanup and View Refresh completed.
2026-01-12 14:23:10,275 - app.clients.bloomberg_client - INFO - ✅ Completed processing for 00631 HK Equity
2026-01-12 14:23:10,275 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=70, Msg=Bloomberg data sync complete, Progress=90%
2026-01-12 14:23:10,741 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=70, Msg=Bloomberg 数据同步完成, Progress=100%
2026-01-12 14:36:45,408 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=71, Msg=正在初始化数据获取..., Progress=0%
2026-01-12 14:36:45,934 - app.clients.bloomberg_client - INFO - Connecting to Jupyter at http://192.168.3.161:8888...
2026-01-12 14:36:46,331 - app.clients.bloomberg_client - INFO - ✅ Authentication successful.
2026-01-12 14:36:46,363 - app.clients.bloomberg_client - INFO - ✅ Found existing kernel: bc27f3b1-b028-434a-99fa-c1cad4495a87 (remote_env)
2026-01-12 14:36:46,418 - app.clients.bloomberg_client - INFO - ✅ WebSocket connected.
2026-01-12 14:36:46,418 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=71, Msg=数据源连接成功, Progress=10%
2026-01-12 14:36:47,610 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=71, Msg=正在连接 Bloomberg 终端..., Progress=20%
2026-01-12 14:36:48,331 - app.clients.bloomberg_client - INFO - 🚀 Starting fetch for: 00631 HK Equity
2026-01-12 14:36:48,332 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=71, Msg=Starting Bloomberg session..., Progress=20%
2026-01-12 14:36:49,795 - app.clients.bloomberg_client - INFO - Using auto-detected currency: HKD
2026-01-12 14:36:49,795 - app.clients.bloomberg_client - INFO - Fetching Basic Data...
2026-01-12 14:36:49,795 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=71, Msg=Fetching Company Basic Info..., Progress=27%
2026-01-12 14:36:50,804 - app.clients.bloomberg_client - INFO - REMOTE RAW OUTPUT: JSON_START
[{"Company_code": "00631 HK Equity", "update_date": "2026-01-12 14:36:51", "currency": "HKD", "indicator": "company_name", "value": "SANY HEAVY EQUIPMENT INTL", "value_date": "2026-01-12 14:36:51"}, {"Company_code": "00631 HK Equity", "update_date": "2026-01-12 14:36:51", "currency": "HKD", "indicator": "pe_ratio", "value": "20.029351716875", "value_date": "2026-01-12 14:36:51"}, {"Company_code": "00631 HK Equity", "update_date": "2026-01-12 14:36:51", "currency": "HKD", "indicator": "pb_ratio", "value": "2.120602595838916", "value_date": "2026-01-12 14:36:51"}, {"Company_code": "00631 HK Equity", "update_date": "2026-01-12 14:36:51", "currency": "HKD", "indicator": "market_cap", "value": "29770569126.09", "value_date": "2026-01-12 14:36:51"}, {"Company_code": "00631 HK Equity", "update_date": "2026-01-12 14:36:51", "currency": "HKD", "indicator": "Rev_Abroad", "value": "37.287945521334656", "value_date": "2026-01-12 14:36:51"}, {"Company_code": "00631 HK Equity", "update_da
2026-01-12 14:36:50,805 - app.clients.bloomberg_client - INFO - ✅ Parsed 7 items from remote.
2026-01-12 14:36:50,805 - app.clients.bloomberg_client - INFO - DEBUG: basic_data before save: [{'Company_code': '00631 HK Equity', 'update_date': '2026-01-12 14:36:51', 'currency': 'HKD', 'indicator': 'company_name', 'value': 'SANY HEAVY EQUIPMENT INTL', 'value_date': '2026-01-12 14:36:51'}, {'Company_code': '00631 HK Equity', 'update_date': '2026-01-12 14:36:51', 'currency': 'HKD', 'indicator': 'pe_ratio', 'value': '20.029351716875', 'value_date': '2026-01-12 14:36:51'}, {'Company_code': '00631 HK Equity', 'update_date': '2026-01-12 14:36:51', 'currency': 'HKD', 'indicator': 'pb_ratio', 'value': '2.120602595838916', 'value_date': '2026-01-12 14:36:51'}, {'Company_code': '00631 HK Equity', 'update_date': '2026-01-12 14:36:51', 'currency': 'HKD', 'indicator': 'market_cap', 'value': '29770569126.09', 'value_date': '2026-01-12 14:36:51'}, {'Company_code': '00631 HK Equity', 'update_date': '2026-01-12 14:36:51', 'currency': 'HKD', 'indicator': 'Rev_Abroad', 'value': '37.287945521334656', 'value_date': '2026-01-12 14:36:51'}, {'Company_code': '00631 HK Equity', 'update_date': '2026-01-12 14:36:51', 'currency': 'HKD', 'indicator': 'dividend_yield', 'value': '3.1487512666161748', 'value_date': '2026-01-12 14:36:51'}, {'Company_code': '00631 HK Equity', 'update_date': '2026-01-12 14:36:51', 'currency': 'HKD', 'indicator': 'IPO_date', 'value': '2009-11-25', 'value_date': '2026-01-12 14:36:51'}]
2026-01-12 14:36:51,907 - app.clients.bloomberg_client - INFO - ✅ Saved 7 records to database.
2026-01-12 14:36:51,908 - app.clients.bloomberg_client - INFO - Fetching Currency Data...
2026-01-12 14:36:51,908 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=71, Msg=正在获取货币指标 (HKD)..., Progress=41%
2026-01-12 14:36:53,347 - app.clients.bloomberg_client - INFO - REMOTE RAW OUTPUT: JSON_START
[{"Company_code": "00631 HK Equity", "update_date": "2026-01-12 14:36:52", "currency": "HKD", "indicator": "Revenue", "value": "2152.9812", "value_date": "2017-01-12"}, {"Company_code": "00631 HK Equity", "update_date": "2026-01-12 14:36:52", "currency": "HKD", "indicator": "Net_Income", "value": "-753.2314", "value_date": "2017-01-12"}, {"Company_code": "00631 HK Equity", "update_date": "2026-01-12 14:36:52", "currency": "HKD", "indicator": "Cash_From_Operating", "value": "1557.419", "value_date": "2017-01-12"}, {"Company_code": "00631 HK Equity", "update_date": "2026-01-12 14:36:52", "currency": "HKD", "indicator": "Capital_Expenditure", "value": "-179.3705", "value_date": "2017-01-12"}, {"Company_code": "00631 HK Equity", "update_date": "2026-01-12 14:36:52", "currency": "HKD", "indicator": "Free_Cash_Flow", "value": "1378.0485", "value_date": "2017-01-12"}, {"Company_code": "00631 HK Equity", "update_date": "2026-01-12 14:36:52", "currency": "HKD", "indicator": "Dividend
2026-01-12 14:36:53,348 - app.clients.bloomberg_client - INFO - ✅ Parsed 240 items from remote.
2026-01-12 14:37:07,885 - app.clients.bloomberg_client - INFO - ✅ Saved 240 records to database.
2026-01-12 14:37:07,887 - app.clients.bloomberg_client - INFO - Fetching Non-Currency Data...
2026-01-12 14:37:07,888 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=71, Msg=正在获取非货币指标..., Progress=55%
2026-01-12 14:37:10,019 - app.clients.bloomberg_client - INFO - REMOTE RAW OUTPUT: JSON_START
[{"Company_code": "00631 HK Equity", "update_date": "2026-01-12 14:37:09", "currency": "HKD", "indicator": "ROE", "value": "-10.132", "value_date": "2017-01-12"}, {"Company_code": "00631 HK Equity", "update_date": "2026-01-12 14:37:09", "currency": "HKD", "indicator": "ROA", "value": "-6.0025", "value_date": "2017-01-12"}, {"Company_code": "00631 HK Equity", "update_date": "2026-01-12 14:37:09", "currency": "HKD", "indicator": "ROCE", "value": "0.3622", "value_date": "2017-01-12"}, {"Company_code": "00631 HK Equity", "update_date": "2026-01-12 14:37:09", "currency": "HKD", "indicator": "Gross_Margin", "value": "14.994", "value_date": "2017-01-12"}, {"Company_code": "00631 HK Equity", "update_date": "2026-01-12 14:37:09", "currency": "HKD", "indicator": "EBITDA_margin", "value": "-28.2708", "value_date": "2017-01-12"}, {"Company_code": "00631 HK Equity", "update_date": "2026-01-12 14:37:09", "currency": "HKD", "indicator": "Net_Profit_Margin", "value": "-34.9855", "value_date
2026-01-12 14:37:10,019 - app.clients.bloomberg_client - INFO - ✅ Parsed 173 items from remote.
2026-01-12 14:37:20,899 - app.clients.bloomberg_client - INFO - ✅ Saved 173 records to database.
2026-01-12 14:37:20,900 - app.clients.bloomberg_client - INFO - Fetching Price Data (Aligned)...
2026-01-12 14:37:20,900 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=71, Msg=正在获取价格指标..., Progress=69%
2026-01-12 14:37:21,161 - app.clients.bloomberg_client - WARNING - No revenue dates found. Falling back to yearly price fetch.
2026-01-12 14:37:21,790 - app.clients.bloomberg_client - INFO - REMOTE RAW OUTPUT: JSON_START
[{"Company_code": "00631 HK Equity", "update_date": "2026-01-12 14:37:21", "currency": "HKD", "indicator": "Last_Price", "value": "1.33", "value_date": "2017-01-12"}, {"Company_code": "00631 HK Equity", "update_date": "2026-01-12 14:37:21", "currency": "HKD", "indicator": "Market_Cap", "value": "4044.5631", "value_date": "2017-01-12"}, {"Company_code": "00631 HK Equity", "update_date": "2026-01-12 14:37:21", "currency": "HKD", "indicator": "Last_Price", "value": "2.28", "value_date": "2018-01-12"}, {"Company_code": "00631 HK Equity", "update_date": "2026-01-12 14:37:21", "currency": "HKD", "indicator": "Market_Cap", "value": "6933.537", "value_date": "2018-01-12"}, {"Company_code": "00631 HK Equity", "update_date": "2026-01-12 14:37:21", "currency": "HKD", "indicator": "Last_Price", "value": "2.45", "value_date": "2019-01-12"}, {"Company_code": "00631 HK Equity", "update_date": "2026-01-12 14:37:21", "currency": "HKD", "indicator": "Market_Cap", "value": "7450.5113", "value_
2026-01-12 14:37:21,790 - app.clients.bloomberg_client - INFO - ✅ Parsed 28 items from remote.
2026-01-12 14:37:23,680 - app.clients.bloomberg_client - INFO - ✅ Saved 28 records to database.
2026-01-12 14:37:23,681 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=71, Msg=Finalizing data..., Progress=82%
2026-01-12 14:37:24,983 - app.clients.bloomberg_client - INFO - ✅ Cleanup and View Refresh completed.
2026-01-12 14:37:24,984 - app.clients.bloomberg_client - INFO - ✅ Completed processing for 00631 HK Equity
2026-01-12 14:37:24,984 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=71, Msg=Bloomberg data sync complete, Progress=90%
2026-01-12 14:37:25,270 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=71, Msg=Bloomberg 数据同步完成, Progress=100%
2026-01-12 14:43:07,865 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=72, Msg=正在初始化数据获取..., Progress=0%
2026-01-12 14:43:08,610 - app.clients.bloomberg_client - INFO - Connecting to Jupyter at http://192.168.3.161:8888...
2026-01-12 14:43:08,830 - app.clients.bloomberg_client - INFO - ✅ Authentication successful.
2026-01-12 14:43:09,009 - app.clients.bloomberg_client - INFO - ✅ Found existing kernel: bc27f3b1-b028-434a-99fa-c1cad4495a87 (remote_env)
2026-01-12 14:43:09,066 - app.clients.bloomberg_client - INFO - ✅ WebSocket connected.
2026-01-12 14:43:09,066 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=72, Msg=数据源连接成功, Progress=10%
2026-01-12 14:43:09,497 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=72, Msg=正在连接 Bloomberg 终端..., Progress=20%
2026-01-12 14:43:09,942 - app.clients.bloomberg_client - INFO - 🚀 Starting fetch for: 00631 HK Equity
2026-01-12 14:43:09,943 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=72, Msg=Starting Bloomberg session..., Progress=20%
2026-01-12 14:43:10,951 - app.clients.bloomberg_client - INFO - Using auto-detected currency: HKD
2026-01-12 14:43:10,951 - app.clients.bloomberg_client - INFO - Fetching Basic Data...
2026-01-12 14:43:10,952 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=72, Msg=Fetching Company Basic Info..., Progress=27%
2026-01-12 14:43:11,735 - app.clients.bloomberg_client - INFO - REMOTE RAW OUTPUT: JSON_START
[{"Company_code": "00631 HK Equity", "update_date": "2026-01-12 14:43:12", "currency": "HKD", "indicator": "company_name", "value": "SANY HEAVY EQUIPMENT INTL", "value_date": "2026-01-12 14:43:12"}, {"Company_code": "00631 HK Equity", "update_date": "2026-01-12 14:43:12", "currency": "HKD", "indicator": "pe_ratio", "value": "20.116743525594977", "value_date": "2026-01-12 14:43:12"}, {"Company_code": "00631 HK Equity", "update_date": "2026-01-12 14:43:12", "currency": "HKD", "indicator": "pb_ratio", "value": "2.1298551816962252", "value_date": "2026-01-12 14:43:12"}, {"Company_code": "00631 HK Equity", "update_date": "2026-01-12 14:43:12", "currency": "HKD", "indicator": "market_cap", "value": "29899865843.249996", "value_date": "2026-01-12 14:43:12"}, {"Company_code": "00631 HK Equity", "update_date": "2026-01-12 14:43:12", "currency": "HKD", "indicator": "Rev_Abroad", "value": "37.287945521334656", "value_date": "2026-01-12 14:43:12"}, {"Company_code": "00631 HK Equity", "u
2026-01-12 14:43:11,735 - app.clients.bloomberg_client - INFO - ✅ Parsed 7 items from remote.
2026-01-12 14:43:11,735 - app.clients.bloomberg_client - INFO - DEBUG: basic_data before save: [{'Company_code': '00631 HK Equity', 'update_date': '2026-01-12 14:43:12', 'currency': 'HKD', 'indicator': 'company_name', 'value': 'SANY HEAVY EQUIPMENT INTL', 'value_date': '2026-01-12 14:43:12'}, {'Company_code': '00631 HK Equity', 'update_date': '2026-01-12 14:43:12', 'currency': 'HKD', 'indicator': 'pe_ratio', 'value': '20.116743525594977', 'value_date': '2026-01-12 14:43:12'}, {'Company_code': '00631 HK Equity', 'update_date': '2026-01-12 14:43:12', 'currency': 'HKD', 'indicator': 'pb_ratio', 'value': '2.1298551816962252', 'value_date': '2026-01-12 14:43:12'}, {'Company_code': '00631 HK Equity', 'update_date': '2026-01-12 14:43:12', 'currency': 'HKD', 'indicator': 'market_cap', 'value': '29899865843.249996', 'value_date': '2026-01-12 14:43:12'}, {'Company_code': '00631 HK Equity', 'update_date': '2026-01-12 14:43:12', 'currency': 'HKD', 'indicator': 'Rev_Abroad', 'value': '37.287945521334656', 'value_date': '2026-01-12 14:43:12'}, {'Company_code': '00631 HK Equity', 'update_date': '2026-01-12 14:43:12', 'currency': 'HKD', 'indicator': 'dividend_yield', 'value': '3.1351350449227', 'value_date': '2026-01-12 14:43:12'}, {'Company_code': '00631 HK Equity', 'update_date': '2026-01-12 14:43:12', 'currency': 'HKD', 'indicator': 'IPO_date', 'value': '2009-11-25', 'value_date': '2026-01-12 14:43:12'}]
2026-01-12 14:43:13,034 - app.clients.bloomberg_client - INFO - ✅ Saved 7 records to database.
2026-01-12 14:43:13,035 - app.clients.bloomberg_client - INFO - Fetching Currency Data...
2026-01-12 14:43:13,035 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=72, Msg=正在获取货币指标 (HKD)..., Progress=41%
2026-01-12 14:43:13,894 - app.clients.bloomberg_client - INFO - REMOTE RAW OUTPUT: JSON_START
[{"Company_code": "00631 HK Equity", "update_date": "2026-01-12 14:43:13", "currency": "HKD", "indicator": "Revenue", "value": "2152.9812", "value_date": "2016-12-31"}, {"Company_code": "00631 HK Equity", "update_date": "2026-01-12 14:43:13", "currency": "HKD", "indicator": "Net_Income", "value": "-753.2314", "value_date": "2016-12-31"}, {"Company_code": "00631 HK Equity", "update_date": "2026-01-12 14:43:13", "currency": "HKD", "indicator": "Cash_From_Operating", "value": "1557.419", "value_date": "2016-12-31"}, {"Company_code": "00631 HK Equity", "update_date": "2026-01-12 14:43:13", "currency": "HKD", "indicator": "Capital_Expenditure", "value": "-179.3705", "value_date": "2016-12-31"}, {"Company_code": "00631 HK Equity", "update_date": "2026-01-12 14:43:13", "currency": "HKD", "indicator": "Free_Cash_Flow", "value": "1378.0485", "value_date": "2016-12-31"}, {"Company_code": "00631 HK Equity", "update_date": "2026-01-12 14:43:13", "currency": "HKD", "indicator": "Dividend
2026-01-12 14:43:13,894 - app.clients.bloomberg_client - INFO - ✅ Parsed 213 items from remote.
2026-01-12 14:43:25,211 - app.clients.bloomberg_client - INFO - ✅ Saved 213 records to database.
2026-01-12 14:43:25,212 - app.clients.bloomberg_client - INFO - Fetching Non-Currency Data...
2026-01-12 14:43:25,212 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=72, Msg=正在获取非货币指标..., Progress=55%
2026-01-12 14:43:26,114 - app.clients.bloomberg_client - INFO - REMOTE RAW OUTPUT: JSON_START
[{"Company_code": "00631 HK Equity", "update_date": "2026-01-12 14:43:25", "currency": "HKD", "indicator": "ROE", "value": "-10.132", "value_date": "2016-12-31"}, {"Company_code": "00631 HK Equity", "update_date": "2026-01-12 14:43:25", "currency": "HKD", "indicator": "ROA", "value": "-6.0025", "value_date": "2016-12-31"}, {"Company_code": "00631 HK Equity", "update_date": "2026-01-12 14:43:25", "currency": "HKD", "indicator": "Gross_Margin", "value": "14.994", "value_date": "2016-12-31"}, {"Company_code": "00631 HK Equity", "update_date": "2026-01-12 14:43:25", "currency": "HKD", "indicator": "EBITDA_margin", "value": "-28.2708", "value_date": "2016-12-31"}, {"Company_code": "00631 HK Equity", "update_date": "2026-01-12 14:43:25", "currency": "HKD", "indicator": "Net_Profit_Margin", "value": "-34.9855", "value_date": "2016-12-31"}, {"Company_code": "00631 HK Equity", "update_date": "2026-01-12 14:43:25", "currency": "HKD", "indicator": "Tax_Rate", "value": "0.25", "value_da
2026-01-12 14:43:26,115 - app.clients.bloomberg_client - INFO - ✅ Parsed 150 items from remote.
2026-01-12 14:43:34,767 - app.clients.bloomberg_client - INFO - ✅ Saved 150 records to database.
2026-01-12 14:43:34,768 - app.clients.bloomberg_client - INFO - Fetching Price Data (Aligned)...
2026-01-12 14:43:34,769 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=72, Msg=正在获取价格指标..., Progress=69%
2026-01-12 14:43:35,176 - app.clients.bloomberg_client - WARNING - No revenue dates found. Falling back to yearly price fetch.
2026-01-12 14:43:35,719 - app.clients.bloomberg_client - INFO - REMOTE RAW OUTPUT: JSON_START
[{"Company_code": "00631 HK Equity", "update_date": "2026-01-12 14:43:35", "currency": "HKD", "indicator": "Last_Price", "value": "1.24", "value_date": "2016-12-31"}, {"Company_code": "00631 HK Equity", "update_date": "2026-01-12 14:43:35", "currency": "HKD", "indicator": "Market_Cap", "value": "3770.8709", "value_date": "2016-12-31"}, {"Company_code": "00631 HK Equity", "update_date": "2026-01-12 14:43:35", "currency": "HKD", "indicator": "Last_Price", "value": "1.71", "value_date": "2017-12-31"}, {"Company_code": "00631 HK Equity", "update_date": "2026-01-12 14:43:35", "currency": "HKD", "indicator": "Market_Cap", "value": "5200.1528", "value_date": "2017-12-31"}, {"Company_code": "00631 HK Equity", "update_date": "2026-01-12 14:43:35", "currency": "HKD", "indicator": "Last_Price", "value": "2.67", "value_date": "2018-12-31"}, {"Company_code": "00631 HK Equity", "update_date": "2026-01-12 14:43:35", "currency": "HKD", "indicator": "Market_Cap", "value": "8119.5368", "value
2026-01-12 14:43:35,719 - app.clients.bloomberg_client - INFO - ✅ Parsed 25 items from remote.
2026-01-12 14:43:37,996 - app.clients.bloomberg_client - INFO - ✅ Saved 25 records to database.
2026-01-12 14:43:37,996 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=72, Msg=Finalizing data..., Progress=82%
2026-01-12 14:43:38,939 - app.clients.bloomberg_client - INFO - ✅ Cleanup and View Refresh completed.
2026-01-12 14:43:38,939 - app.clients.bloomberg_client - INFO - ✅ Completed processing for 00631 HK Equity
2026-01-12 14:43:38,939 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=72, Msg=Bloomberg data sync complete, Progress=90%
2026-01-12 14:43:40,030 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=72, Msg=Bloomberg 数据同步完成, Progress=100%
2026-01-12 14:45:40,102 - app.services.bloomberg_service - WARNING - No Bloomberg data found for symbol: 00631
2026-01-12 14:45:42,034 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=73, Msg=正在初始化数据获取..., Progress=0%
2026-01-12 14:45:42,964 - app.clients.bloomberg_client - INFO - Connecting to Jupyter at http://192.168.3.161:8888...
2026-01-12 14:45:43,352 - app.clients.bloomberg_client - INFO - ✅ Authentication successful.
2026-01-12 14:45:43,383 - app.clients.bloomberg_client - INFO - ✅ Found existing kernel: bc27f3b1-b028-434a-99fa-c1cad4495a87 (remote_env)
2026-01-12 14:45:43,448 - app.clients.bloomberg_client - INFO - ✅ WebSocket connected.
2026-01-12 14:45:43,449 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=73, Msg=数据源连接成功, Progress=10%
2026-01-12 14:45:43,881 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=73, Msg=正在连接 Bloomberg 终端..., Progress=20%
2026-01-12 14:45:44,623 - app.clients.bloomberg_client - INFO - 🚀 Starting fetch for: 00631 HK Equity
2026-01-12 14:45:44,623 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=73, Msg=Starting Bloomberg session..., Progress=20%
2026-01-12 14:45:45,178 - app.clients.bloomberg_client - INFO - Using auto-detected currency: HKD
2026-01-12 14:45:45,179 - app.clients.bloomberg_client - INFO - Fetching Basic Data...
2026-01-12 14:45:45,180 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=73, Msg=Fetching Company Basic Info..., Progress=27%
2026-01-12 14:45:46,576 - app.clients.bloomberg_client - INFO - REMOTE RAW OUTPUT: JSON_START
[{"Company_code": "00631 HK Equity", "update_date": "2026-01-12 14:45:47", "currency": "HKD", "indicator": "company_name", "value": "SANY HEAVY EQUIPMENT INTL", "value_date": "2026-01-12 14:45:47"}, {"Company_code": "00631 HK Equity", "update_date": "2026-01-12 14:45:47", "currency": "HKD", "indicator": "pe_ratio", "value": "20.138605869994777", "value_date": "2026-01-12 14:45:47"}, {"Company_code": "00631 HK Equity", "update_date": "2026-01-12 14:45:47", "currency": "HKD", "indicator": "pb_ratio", "value": "2.1321698519332197", "value_date": "2026-01-12 14:45:47"}, {"Company_code": "00631 HK Equity", "update_date": "2026-01-12 14:45:47", "currency": "HKD", "indicator": "market_cap", "value": "29932190022.539997", "value_date": "2026-01-12 14:45:47"}, {"Company_code": "00631 HK Equity", "update_date": "2026-01-12 14:45:47", "currency": "HKD", "indicator": "Rev_Abroad", "value": "37.287945521334656", "value_date": "2026-01-12 14:45:47"}, {"Company_code": "00631 HK Equity", "u
2026-01-12 14:45:46,576 - app.clients.bloomberg_client - INFO - ✅ Parsed 7 items from remote.
2026-01-12 14:45:46,576 - app.clients.bloomberg_client - INFO - DEBUG: basic_data before save: [{'Company_code': '00631 HK Equity', 'update_date': '2026-01-12 14:45:47', 'currency': 'HKD', 'indicator': 'company_name', 'value': 'SANY HEAVY EQUIPMENT INTL', 'value_date': '2026-01-12 14:45:47'}, {'Company_code': '00631 HK Equity', 'update_date': '2026-01-12 14:45:47', 'currency': 'HKD', 'indicator': 'pe_ratio', 'value': '20.138605869994777', 'value_date': '2026-01-12 14:45:47'}, {'Company_code': '00631 HK Equity', 'update_date': '2026-01-12 14:45:47', 'currency': 'HKD', 'indicator': 'pb_ratio', 'value': '2.1321698519332197', 'value_date': '2026-01-12 14:45:47'}, {'Company_code': '00631 HK Equity', 'update_date': '2026-01-12 14:45:47', 'currency': 'HKD', 'indicator': 'market_cap', 'value': '29932190022.539997', 'value_date': '2026-01-12 14:45:47'}, {'Company_code': '00631 HK Equity', 'update_date': '2026-01-12 14:45:47', 'currency': 'HKD', 'indicator': 'Rev_Abroad', 'value': '37.287945521334656', 'value_date': '2026-01-12 14:45:47'}, {'Company_code': '00631 HK Equity', 'update_date': '2026-01-12 14:45:47', 'currency': 'HKD', 'indicator': 'dividend_yield', 'value': '3.131749369928183', 'value_date': '2026-01-12 14:45:47'}, {'Company_code': '00631 HK Equity', 'update_date': '2026-01-12 14:45:47', 'currency': 'HKD', 'indicator': 'IPO_date', 'value': '2009-11-25', 'value_date': '2026-01-12 14:45:47'}]
2026-01-12 14:45:48,142 - app.clients.bloomberg_client - INFO - ✅ Saved 7 records to database.
2026-01-12 14:45:48,142 - app.clients.bloomberg_client - INFO - Fetching Currency Data...
2026-01-12 14:45:48,142 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=73, Msg=正在获取货币指标 (HKD)..., Progress=41%
2026-01-12 14:45:50,239 - app.clients.bloomberg_client - INFO - REMOTE RAW OUTPUT: JSON_START
[{"Company_code": "00631 HK Equity", "update_date": "2026-01-12 14:45:49", "currency": "HKD", "indicator": "Revenue", "value": "2152.9812", "value_date": "2016-12-31"}, {"Company_code": "00631 HK Equity", "update_date": "2026-01-12 14:45:49", "currency": "HKD", "indicator": "Net_Income", "value": "-753.2314", "value_date": "2016-12-31"}, {"Company_code": "00631 HK Equity", "update_date": "2026-01-12 14:45:49", "currency": "HKD", "indicator": "Cash_From_Operating", "value": "1557.419", "value_date": "2016-12-31"}, {"Company_code": "00631 HK Equity", "update_date": "2026-01-12 14:45:49", "currency": "HKD", "indicator": "Capital_Expenditure", "value": "-179.3705", "value_date": "2016-12-31"}, {"Company_code": "00631 HK Equity", "update_date": "2026-01-12 14:45:49", "currency": "HKD", "indicator": "Free_Cash_Flow", "value": "1378.0485", "value_date": "2016-12-31"}, {"Company_code": "00631 HK Equity", "update_date": "2026-01-12 14:45:49", "currency": "HKD", "indicator": "Dividend
2026-01-12 14:45:50,239 - app.clients.bloomberg_client - INFO - ✅ Parsed 213 items from remote.
2026-01-12 14:46:03,568 - app.clients.bloomberg_client - INFO - ✅ Saved 213 records to database.
2026-01-12 14:46:03,570 - app.clients.bloomberg_client - INFO - Fetching Non-Currency Data...
2026-01-12 14:46:03,570 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=73, Msg=正在获取非货币指标..., Progress=55%
2026-01-12 14:46:04,576 - app.clients.bloomberg_client - INFO - REMOTE RAW OUTPUT: JSON_START
[{"Company_code": "00631 HK Equity", "update_date": "2026-01-12 14:46:04", "currency": "HKD", "indicator": "ROE", "value": "-10.132", "value_date": "2016-12-31"}, {"Company_code": "00631 HK Equity", "update_date": "2026-01-12 14:46:04", "currency": "HKD", "indicator": "ROA", "value": "-6.0025", "value_date": "2016-12-31"}, {"Company_code": "00631 HK Equity", "update_date": "2026-01-12 14:46:04", "currency": "HKD", "indicator": "Gross_Margin", "value": "14.994", "value_date": "2016-12-31"}, {"Company_code": "00631 HK Equity", "update_date": "2026-01-12 14:46:04", "currency": "HKD", "indicator": "EBITDA_margin", "value": "-28.2708", "value_date": "2016-12-31"}, {"Company_code": "00631 HK Equity", "update_date": "2026-01-12 14:46:04", "currency": "HKD", "indicator": "Net_Profit_Margin", "value": "-34.9855", "value_date": "2016-12-31"}, {"Company_code": "00631 HK Equity", "update_date": "2026-01-12 14:46:04", "currency": "HKD", "indicator": "Tax_Rate", "value": "0.25", "value_da
2026-01-12 14:46:04,576 - app.clients.bloomberg_client - INFO - ✅ Parsed 150 items from remote.
2026-01-12 14:46:16,087 - app.clients.bloomberg_client - INFO - ✅ Saved 150 records to database.
2026-01-12 14:46:16,090 - app.clients.bloomberg_client - INFO - Fetching Price Data (Aligned)...
2026-01-12 14:46:16,090 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=73, Msg=正在获取价格指标..., Progress=69%
2026-01-12 14:46:16,680 - app.clients.bloomberg_client - WARNING - No revenue dates found. Falling back to yearly price fetch.
2026-01-12 14:46:17,220 - app.clients.bloomberg_client - INFO - REMOTE RAW OUTPUT: JSON_START
[{"Company_code": "00631 HK Equity", "update_date": "2026-01-12 14:46:16", "currency": "HKD", "indicator": "Last_Price", "value": "1.24", "value_date": "2016-12-31"}, {"Company_code": "00631 HK Equity", "update_date": "2026-01-12 14:46:16", "currency": "HKD", "indicator": "Market_Cap", "value": "3770.8709", "value_date": "2016-12-31"}, {"Company_code": "00631 HK Equity", "update_date": "2026-01-12 14:46:16", "currency": "HKD", "indicator": "Last_Price", "value": "1.71", "value_date": "2017-12-31"}, {"Company_code": "00631 HK Equity", "update_date": "2026-01-12 14:46:16", "currency": "HKD", "indicator": "Market_Cap", "value": "5200.1528", "value_date": "2017-12-31"}, {"Company_code": "00631 HK Equity", "update_date": "2026-01-12 14:46:16", "currency": "HKD", "indicator": "Last_Price", "value": "2.67", "value_date": "2018-12-31"}, {"Company_code": "00631 HK Equity", "update_date": "2026-01-12 14:46:16", "currency": "HKD", "indicator": "Market_Cap", "value": "8119.5368", "value
2026-01-12 14:46:17,220 - app.clients.bloomberg_client - INFO - ✅ Parsed 25 items from remote.
2026-01-12 14:46:19,283 - app.clients.bloomberg_client - INFO - ✅ Saved 25 records to database.
2026-01-12 14:46:19,284 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=73, Msg=Finalizing data..., Progress=82%
2026-01-12 14:46:20,269 - app.clients.bloomberg_client - INFO - ✅ Cleanup and View Refresh completed.
2026-01-12 14:46:20,269 - app.clients.bloomberg_client - INFO - ✅ Completed processing for 00631 HK Equity
2026-01-12 14:46:20,269 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=73, Msg=Bloomberg data sync complete, Progress=90%
2026-01-12 14:46:20,840 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=73, Msg=Bloomberg 数据同步完成, Progress=100%
2026-01-12 14:47:40,832 - app.main - INFO - 🔍 [搜索] 开始搜索股票: 小松
2026-01-12 14:47:40,891 - app.main - INFO - 🤖 [搜索-LLM] 调用 gemini-2.5-flash 进行股票搜索
2026-01-12 14:47:40,892 - google_genai.models - INFO - AFC is enabled with max remote calls: 10.
2026-01-12 14:47:46,554 - httpx - INFO - HTTP Request: POST https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash:generateContent "HTTP/1.1 200 OK"
2026-01-12 14:47:46,561 - app.main - INFO - ✅ [搜索-LLM] 模型响应完成, 耗时: 5.67秒, Tokens: prompt=165, completion=116, total=281
2026-01-12 14:47:46,561 - app.main - INFO - ✅ [搜索] 搜索完成, 找到 2 个结果, 总耗时: 5.73秒
2026-01-12 14:47:55,573 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=74, Msg=正在初始化数据获取..., Progress=0%
2026-01-12 14:47:56,059 - app.clients.bloomberg_client - INFO - Connecting to Jupyter at http://192.168.3.161:8888...
2026-01-12 14:47:56,715 - app.clients.bloomberg_client - INFO - ✅ Authentication successful.
2026-01-12 14:47:56,744 - app.clients.bloomberg_client - INFO - ✅ Found existing kernel: bc27f3b1-b028-434a-99fa-c1cad4495a87 (remote_env)
2026-01-12 14:47:56,806 - app.clients.bloomberg_client - INFO - ✅ WebSocket connected.
2026-01-12 14:47:56,807 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=74, Msg=数据源连接成功, Progress=10%
2026-01-12 14:47:57,821 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=74, Msg=正在连接 Bloomberg 终端..., Progress=20%
2026-01-12 14:47:58,674 - app.clients.bloomberg_client - INFO - 🚀 Starting fetch for: 6301 JP Equity
2026-01-12 14:47:58,675 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=74, Msg=Starting Bloomberg session..., Progress=20%
2026-01-12 14:47:59,347 - app.clients.bloomberg_client - INFO - Using forced currency: CNY
2026-01-12 14:47:59,348 - app.clients.bloomberg_client - INFO - Fetching Basic Data...
2026-01-12 14:47:59,348 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=74, Msg=Fetching Company Basic Info..., Progress=27%
2026-01-12 14:48:01,112 - app.clients.bloomberg_client - INFO - REMOTE RAW OUTPUT: JSON_START
[{"Company_code": "6301 JP Equity", "update_date": "2026-01-12 14:48:01", "currency": "CNY", "indicator": "company_name", "value": "KOMATSU LTD", "value_date": "2026-01-12 14:48:01"}, {"Company_code": "6301 JP Equity", "update_date": "2026-01-12 14:48:01", "currency": "CNY", "indicator": "pe_ratio", "value": "11.538204871538206", "value_date": "2026-01-12 14:48:01"}, {"Company_code": "6301 JP Equity", "update_date": "2026-01-12 14:48:01", "currency": "CNY", "indicator": "pb_ratio", "value": "1.4637777168999744", "value_date": "2026-01-12 14:48:01"}, {"Company_code": "6301 JP Equity", "update_date": "2026-01-12 14:48:01", "currency": "CNY", "indicator": "market_cap", "value": "4825676795940.001", "value_date": "2026-01-12 14:48:01"}, {"Company_code": "6301 JP Equity", "update_date": "2026-01-12 14:48:01", "currency": "CNY", "indicator": "Rev_Abroad", "value": "86.05716369679564", "value_date": "2026-01-12 14:48:01"}, {"Company_code": "6301 JP Equity", "update_date": "2026-01-
2026-01-12 14:48:01,113 - app.clients.bloomberg_client - INFO - ✅ Parsed 6 items from remote.
2026-01-12 14:48:01,114 - app.clients.bloomberg_client - INFO - DEBUG: basic_data before save: [{'Company_code': '6301 JP Equity', 'update_date': '2026-01-12 14:48:01', 'currency': 'CNY', 'indicator': 'company_name', 'value': 'KOMATSU LTD', 'value_date': '2026-01-12 14:48:01'}, {'Company_code': '6301 JP Equity', 'update_date': '2026-01-12 14:48:01', 'currency': 'CNY', 'indicator': 'pe_ratio', 'value': '11.538204871538206', 'value_date': '2026-01-12 14:48:01'}, {'Company_code': '6301 JP Equity', 'update_date': '2026-01-12 14:48:01', 'currency': 'CNY', 'indicator': 'pb_ratio', 'value': '1.4637777168999744', 'value_date': '2026-01-12 14:48:01'}, {'Company_code': '6301 JP Equity', 'update_date': '2026-01-12 14:48:01', 'currency': 'CNY', 'indicator': 'market_cap', 'value': '4825676795940.001', 'value_date': '2026-01-12 14:48:01'}, {'Company_code': '6301 JP Equity', 'update_date': '2026-01-12 14:48:01', 'currency': 'CNY', 'indicator': 'Rev_Abroad', 'value': '86.05716369679564', 'value_date': '2026-01-12 14:48:01'}, {'Company_code': '6301 JP Equity', 'update_date': '2026-01-12 14:48:01', 'currency': 'CNY', 'indicator': 'dividend_yield', 'value': '3.894351262772315', 'value_date': '2026-01-12 14:48:01'}]
2026-01-12 14:48:02,208 - app.clients.bloomberg_client - INFO - ✅ Saved 6 records to database.
2026-01-12 14:48:02,208 - app.clients.bloomberg_client - INFO - Fetching Currency Data...
2026-01-12 14:48:02,209 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=74, Msg=正在获取货币指标 (CNY)..., Progress=41%
2026-01-12 14:48:03,577 - app.clients.bloomberg_client - INFO - REMOTE RAW OUTPUT: JSON_START
[{"Company_code": "6301 JP Equity", "update_date": "2026-01-12 14:48:02", "currency": "CNY", "indicator": "Revenue", "value": "98388.5158", "value_date": "2016-03-31"}, {"Company_code": "6301 JP Equity", "update_date": "2026-01-12 14:48:02", "currency": "CNY", "indicator": "Net_Income", "value": "7289.1658", "value_date": "2016-03-31"}, {"Company_code": "6301 JP Equity", "update_date": "2026-01-12 14:48:02", "currency": "CNY", "indicator": "Cash_From_Operating", "value": "16953.5985", "value_date": "2016-03-31"}, {"Company_code": "6301 JP Equity", "update_date": "2026-01-12 14:48:02", "currency": "CNY", "indicator": "Capital_Expenditure", "value": "-8830.1561", "value_date": "2016-03-31"}, {"Company_code": "6301 JP Equity", "update_date": "2026-01-12 14:48:02", "currency": "CNY", "indicator": "Free_Cash_Flow", "value": "8123.4424", "value_date": "2016-03-31"}, {"Company_code": "6301 JP Equity", "update_date": "2026-01-12 14:48:02", "currency": "CNY", "indicator": "Dividends_
2026-01-12 14:48:03,578 - app.clients.bloomberg_client - INFO - ✅ Parsed 248 items from remote.
2026-01-12 14:48:18,179 - app.clients.bloomberg_client - INFO - ✅ Saved 248 records to database.
2026-01-12 14:48:18,181 - app.clients.bloomberg_client - INFO - Fetching Non-Currency Data...
2026-01-12 14:48:18,181 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=74, Msg=正在获取非货币指标..., Progress=55%
2026-01-12 14:48:19,384 - app.clients.bloomberg_client - INFO - REMOTE RAW OUTPUT: JSON_START
[{"Company_code": "6301 JP Equity", "update_date": "2026-01-12 14:48:18", "currency": "CNY", "indicator": "ROE", "value": "9.0222", "value_date": "2016-03-31"}, {"Company_code": "6301 JP Equity", "update_date": "2026-01-12 14:48:18", "currency": "CNY", "indicator": "ROA", "value": "5.0776", "value_date": "2016-03-31"}, {"Company_code": "6301 JP Equity", "update_date": "2026-01-12 14:48:18", "currency": "CNY", "indicator": "ROCE", "value": "10.4918", "value_date": "2016-03-31"}, {"Company_code": "6301 JP Equity", "update_date": "2026-01-12 14:48:18", "currency": "CNY", "indicator": "Gross_Margin", "value": "29.0675", "value_date": "2016-03-31"}, {"Company_code": "6301 JP Equity", "update_date": "2026-01-12 14:48:18", "currency": "CNY", "indicator": "EBITDA_margin", "value": "17.3073", "value_date": "2016-03-31"}, {"Company_code": "6301 JP Equity", "update_date": "2026-01-12 14:48:18", "currency": "CNY", "indicator": "Net_Profit_Margin", "value": "7.4086", "value_date": "2016-
2026-01-12 14:48:19,384 - app.clients.bloomberg_client - INFO - ✅ Parsed 200 items from remote.
2026-01-12 14:48:30,521 - app.clients.bloomberg_client - INFO - ✅ Saved 200 records to database.
2026-01-12 14:48:30,522 - app.clients.bloomberg_client - INFO - Fetching Price Data (Aligned)...
2026-01-12 14:48:30,523 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=74, Msg=正在获取价格指标..., Progress=69%
2026-01-12 14:48:31,242 - app.clients.bloomberg_client - WARNING - No revenue dates found. Falling back to yearly price fetch.
2026-01-12 14:48:31,965 - app.clients.bloomberg_client - INFO - REMOTE RAW OUTPUT: JSON_START
[{"Company_code": "6301 JP Equity", "update_date": "2026-01-12 14:48:31", "currency": "CNY", "indicator": "Last_Price", "value": "109.89665", "value_date": "2016-03-31"}, {"Company_code": "6301 JP Equity", "update_date": "2026-01-12 14:48:31", "currency": "CNY", "indicator": "Market_Cap", "value": "6126.6803", "value_date": "2016-03-31"}, {"Company_code": "6301 JP Equity", "update_date": "2026-01-12 14:48:31", "currency": "CNY", "indicator": "Last_Price", "value": "179.2773", "value_date": "2017-03-31"}, {"Company_code": "6301 JP Equity", "update_date": "2026-01-12 14:48:31", "currency": "CNY", "indicator": "Market_Cap", "value": "10766.6315", "value_date": "2017-03-31"}, {"Company_code": "6301 JP Equity", "update_date": "2026-01-12 14:48:31", "currency": "CNY", "indicator": "Last_Price", "value": "209.97492", "value_date": "2018-03-31"}, {"Company_code": "6301 JP Equity", "update_date": "2026-01-12 14:48:31", "currency": "CNY", "indicator": "Market_Cap", "value": "12081.628
2026-01-12 14:48:31,966 - app.clients.bloomberg_client - INFO - ✅ Parsed 20 items from remote.
2026-01-12 14:48:34,609 - app.clients.bloomberg_client - INFO - ✅ Saved 20 records to database.
2026-01-12 14:48:34,610 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=74, Msg=Finalizing data..., Progress=82%
2026-01-12 14:48:35,541 - app.clients.bloomberg_client - INFO - ✅ Cleanup and View Refresh completed.
2026-01-12 14:48:35,542 - app.clients.bloomberg_client - INFO - ✅ Completed processing for 6301 JP Equity
2026-01-12 14:48:35,542 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=74, Msg=Bloomberg data sync complete, Progress=90%
2026-01-12 14:48:36,209 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=74, Msg=Bloomberg 数据同步完成, Progress=100%
2026-01-12 14:49:44,963 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=75, Msg=正在初始化数据获取..., Progress=0%
2026-01-12 14:49:45,392 - app.clients.bloomberg_client - INFO - Connecting to Jupyter at http://192.168.3.161:8888...
2026-01-12 14:49:45,772 - app.clients.bloomberg_client - INFO - ✅ Authentication successful.
2026-01-12 14:49:45,800 - app.clients.bloomberg_client - INFO - ✅ Found existing kernel: bc27f3b1-b028-434a-99fa-c1cad4495a87 (remote_env)
2026-01-12 14:49:46,296 - app.clients.bloomberg_client - INFO - ✅ WebSocket connected.
2026-01-12 14:49:46,297 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=75, Msg=数据源连接成功, Progress=10%
2026-01-12 14:49:46,646 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=75, Msg=正在连接 Bloomberg 终端..., Progress=20%
2026-01-12 14:49:47,067 - app.clients.bloomberg_client - INFO - 🚀 Starting fetch for: 6301 JP Equity
2026-01-12 14:49:47,067 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=75, Msg=Starting Bloomberg session..., Progress=20%
2026-01-12 14:49:47,538 - app.clients.bloomberg_client - INFO - Using auto-detected currency: JPY
2026-01-12 14:49:47,538 - app.clients.bloomberg_client - INFO - Fetching Basic Data...
2026-01-12 14:49:47,539 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=75, Msg=Fetching Company Basic Info..., Progress=27%
2026-01-12 14:49:48,960 - app.clients.bloomberg_client - INFO - REMOTE RAW OUTPUT: JSON_START
[{"Company_code": "6301 JP Equity", "update_date": "2026-01-12 14:49:49", "currency": "JPY", "indicator": "company_name", "value": "KOMATSU LTD", "value_date": "2026-01-12 14:49:49"}, {"Company_code": "6301 JP Equity", "update_date": "2026-01-12 14:49:49", "currency": "JPY", "indicator": "pe_ratio", "value": "11.538204871538206", "value_date": "2026-01-12 14:49:49"}, {"Company_code": "6301 JP Equity", "update_date": "2026-01-12 14:49:49", "currency": "JPY", "indicator": "pb_ratio", "value": "1.4637777168999744", "value_date": "2026-01-12 14:49:49"}, {"Company_code": "6301 JP Equity", "update_date": "2026-01-12 14:49:49", "currency": "JPY", "indicator": "market_cap", "value": "4825676795940.001", "value_date": "2026-01-12 14:49:49"}, {"Company_code": "6301 JP Equity", "update_date": "2026-01-12 14:49:49", "currency": "JPY", "indicator": "Rev_Abroad", "value": "86.05716369679564", "value_date": "2026-01-12 14:49:49"}, {"Company_code": "6301 JP Equity", "update_date": "2026-01-
2026-01-12 14:49:48,961 - app.clients.bloomberg_client - INFO - ✅ Parsed 6 items from remote.
2026-01-12 14:49:48,961 - app.clients.bloomberg_client - INFO - DEBUG: basic_data before save: [{'Company_code': '6301 JP Equity', 'update_date': '2026-01-12 14:49:49', 'currency': 'JPY', 'indicator': 'company_name', 'value': 'KOMATSU LTD', 'value_date': '2026-01-12 14:49:49'}, {'Company_code': '6301 JP Equity', 'update_date': '2026-01-12 14:49:49', 'currency': 'JPY', 'indicator': 'pe_ratio', 'value': '11.538204871538206', 'value_date': '2026-01-12 14:49:49'}, {'Company_code': '6301 JP Equity', 'update_date': '2026-01-12 14:49:49', 'currency': 'JPY', 'indicator': 'pb_ratio', 'value': '1.4637777168999744', 'value_date': '2026-01-12 14:49:49'}, {'Company_code': '6301 JP Equity', 'update_date': '2026-01-12 14:49:49', 'currency': 'JPY', 'indicator': 'market_cap', 'value': '4825676795940.001', 'value_date': '2026-01-12 14:49:49'}, {'Company_code': '6301 JP Equity', 'update_date': '2026-01-12 14:49:49', 'currency': 'JPY', 'indicator': 'Rev_Abroad', 'value': '86.05716369679564', 'value_date': '2026-01-12 14:49:49'}, {'Company_code': '6301 JP Equity', 'update_date': '2026-01-12 14:49:49', 'currency': 'JPY', 'indicator': 'dividend_yield', 'value': '3.894351262772315', 'value_date': '2026-01-12 14:49:49'}]
2026-01-12 14:49:49,780 - app.clients.bloomberg_client - INFO - ✅ Saved 6 records to database.
2026-01-12 14:49:49,781 - app.clients.bloomberg_client - INFO - Fetching Currency Data...
2026-01-12 14:49:49,781 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=75, Msg=正在获取货币指标 (JPY)..., Progress=41%
2026-01-12 14:49:50,861 - app.clients.bloomberg_client - INFO - REMOTE RAW OUTPUT: JSON_START
[{"Company_code": "6301 JP Equity", "update_date": "2026-01-12 14:49:50", "currency": "JPY", "indicator": "Revenue", "value": "1854964.0", "value_date": "2016-03-31"}, {"Company_code": "6301 JP Equity", "update_date": "2026-01-12 14:49:50", "currency": "JPY", "indicator": "Net_Income", "value": "137426.0", "value_date": "2016-03-31"}, {"Company_code": "6301 JP Equity", "update_date": "2026-01-12 14:49:50", "currency": "JPY", "indicator": "Cash_From_Operating", "value": "319634.0", "value_date": "2016-03-31"}, {"Company_code": "6301 JP Equity", "update_date": "2026-01-12 14:49:50", "currency": "JPY", "indicator": "Capital_Expenditure", "value": "-166479.0", "value_date": "2016-03-31"}, {"Company_code": "6301 JP Equity", "update_date": "2026-01-12 14:49:50", "currency": "JPY", "indicator": "Free_Cash_Flow", "value": "153155.0", "value_date": "2016-03-31"}, {"Company_code": "6301 JP Equity", "update_date": "2026-01-12 14:49:50", "currency": "JPY", "indicator": "Dividends_Paid",
2026-01-12 14:49:50,862 - app.clients.bloomberg_client - INFO - ✅ Parsed 248 items from remote.
2026-01-12 14:50:05,970 - app.clients.bloomberg_client - INFO - ✅ Saved 248 records to database.
2026-01-12 14:50:05,972 - app.clients.bloomberg_client - INFO - Fetching Non-Currency Data...
2026-01-12 14:50:05,973 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=75, Msg=正在获取非货币指标..., Progress=55%
2026-01-12 14:50:08,245 - app.clients.bloomberg_client - INFO - REMOTE RAW OUTPUT: JSON_START
[{"Company_code": "6301 JP Equity", "update_date": "2026-01-12 14:50:07", "currency": "JPY", "indicator": "ROE", "value": "9.0222", "value_date": "2016-03-31"}, {"Company_code": "6301 JP Equity", "update_date": "2026-01-12 14:50:07", "currency": "JPY", "indicator": "ROA", "value": "5.0776", "value_date": "2016-03-31"}, {"Company_code": "6301 JP Equity", "update_date": "2026-01-12 14:50:07", "currency": "JPY", "indicator": "ROCE", "value": "10.4918", "value_date": "2016-03-31"}, {"Company_code": "6301 JP Equity", "update_date": "2026-01-12 14:50:07", "currency": "JPY", "indicator": "Gross_Margin", "value": "29.0675", "value_date": "2016-03-31"}, {"Company_code": "6301 JP Equity", "update_date": "2026-01-12 14:50:07", "currency": "JPY", "indicator": "EBITDA_margin", "value": "17.3073", "value_date": "2016-03-31"}, {"Company_code": "6301 JP Equity", "update_date": "2026-01-12 14:50:07", "currency": "JPY", "indicator": "Net_Profit_Margin", "value": "7.4086", "value_date": "2016-
2026-01-12 14:50:08,245 - app.clients.bloomberg_client - INFO - ✅ Parsed 200 items from remote.
2026-01-12 14:50:21,679 - app.clients.bloomberg_client - INFO - ✅ Saved 200 records to database.
2026-01-12 14:50:21,680 - app.clients.bloomberg_client - INFO - Fetching Price Data (Aligned)...
2026-01-12 14:50:21,680 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=75, Msg=正在获取价格指标..., Progress=69%
2026-01-12 14:50:22,256 - app.clients.bloomberg_client - WARNING - No revenue dates found. Falling back to yearly price fetch.
2026-01-12 14:50:23,865 - app.clients.bloomberg_client - INFO - REMOTE RAW OUTPUT: JSON_START
[{"Company_code": "6301 JP Equity", "update_date": "2026-01-12 14:50:22", "currency": "JPY", "indicator": "Last_Price", "value": "1916.0", "value_date": "2016-03-31"}, {"Company_code": "6301 JP Equity", "update_date": "2026-01-12 14:50:22", "currency": "JPY", "indicator": "Market_Cap", "value": "1862290.02", "value_date": "2016-03-31"}, {"Company_code": "6301 JP Equity", "update_date": "2026-01-12 14:50:22", "currency": "JPY", "indicator": "Dividend_Yield", "value": "3.0271", "value_date": "2016-03-31"}, {"Company_code": "6301 JP Equity", "update_date": "2026-01-12 14:50:22", "currency": "JPY", "indicator": "Last_Price", "value": "2901.5", "value_date": "2017-03-31"}, {"Company_code": "6301 JP Equity", "update_date": "2026-01-12 14:50:22", "currency": "JPY", "indicator": "Market_Cap", "value": "2820164.1404", "value_date": "2017-03-31"}, {"Company_code": "6301 JP Equity", "update_date": "2026-01-12 14:50:22", "currency": "JPY", "indicator": "Dividend_Yield", "value": "1.999"
2026-01-12 14:50:23,866 - app.clients.bloomberg_client - INFO - ✅ Parsed 30 items from remote.
2026-01-12 14:50:26,009 - app.clients.bloomberg_client - INFO - ✅ Saved 30 records to database.
2026-01-12 14:50:26,009 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=75, Msg=Finalizing data..., Progress=82%
2026-01-12 14:50:27,009 - app.clients.bloomberg_client - INFO - ✅ Cleanup and View Refresh completed.
2026-01-12 14:50:27,009 - app.clients.bloomberg_client - INFO - ✅ Completed processing for 6301 JP Equity
2026-01-12 14:50:27,009 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=75, Msg=Bloomberg data sync complete, Progress=90%
2026-01-12 14:50:27,898 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=75, Msg=Bloomberg 数据同步完成, Progress=100%
2026-01-12 14:51:20,076 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=76, Msg=正在初始化数据获取..., Progress=0%
2026-01-12 14:51:20,584 - app.clients.bloomberg_client - INFO - Connecting to Jupyter at http://192.168.3.161:8888...
2026-01-12 14:51:21,537 - app.clients.bloomberg_client - INFO - ✅ Authentication successful.
2026-01-12 14:51:21,567 - app.clients.bloomberg_client - INFO - ✅ Found existing kernel: bc27f3b1-b028-434a-99fa-c1cad4495a87 (remote_env)
2026-01-12 14:51:21,624 - app.clients.bloomberg_client - INFO - ✅ WebSocket connected.
2026-01-12 14:51:21,628 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=76, Msg=数据源连接成功, Progress=10%
2026-01-12 14:51:22,917 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=76, Msg=正在连接 Bloomberg 终端..., Progress=20%
2026-01-12 14:51:23,220 - app.clients.bloomberg_client - INFO - 🚀 Starting fetch for: 00631 HK Equity
2026-01-12 14:51:23,220 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=76, Msg=Starting Bloomberg session..., Progress=20%
2026-01-12 14:51:24,335 - app.clients.bloomberg_client - INFO - Using auto-detected currency: HKD
2026-01-12 14:51:24,335 - app.clients.bloomberg_client - INFO - Fetching Basic Data...
2026-01-12 14:51:24,335 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=76, Msg=Fetching Company Basic Info..., Progress=27%
2026-01-12 14:51:25,182 - app.clients.bloomberg_client - INFO - REMOTE RAW OUTPUT: JSON_START
[{"Company_code": "00631 HK Equity", "update_date": "2026-01-12 14:51:25", "currency": "HKD", "indicator": "company_name", "value": "SANY HEAVY EQUIPMENT INTL", "value_date": "2026-01-12 14:51:25"}, {"Company_code": "00631 HK Equity", "update_date": "2026-01-12 14:51:25", "currency": "HKD", "indicator": "pe_ratio", "value": "20.029578510589843", "value_date": "2026-01-12 14:51:25"}, {"Company_code": "00631 HK Equity", "update_date": "2026-01-12 14:51:25", "currency": "HKD", "indicator": "pb_ratio", "value": "2.120626607566665", "value_date": "2026-01-12 14:51:25"}, {"Company_code": "00631 HK Equity", "update_date": "2026-01-12 14:51:25", "currency": "HKD", "indicator": "market_cap", "value": "29770569126.09", "value_date": "2026-01-12 14:51:25"}, {"Company_code": "00631 HK Equity", "update_date": "2026-01-12 14:51:25", "currency": "HKD", "indicator": "Rev_Abroad", "value": "37.287945521334656", "value_date": "2026-01-12 14:51:25"}, {"Company_code": "00631 HK Equity", "update
2026-01-12 14:51:25,183 - app.clients.bloomberg_client - INFO - ✅ Parsed 7 items from remote.
2026-01-12 14:51:25,183 - app.clients.bloomberg_client - INFO - DEBUG: basic_data before save: [{'Company_code': '00631 HK Equity', 'update_date': '2026-01-12 14:51:25', 'currency': 'HKD', 'indicator': 'company_name', 'value': 'SANY HEAVY EQUIPMENT INTL', 'value_date': '2026-01-12 14:51:25'}, {'Company_code': '00631 HK Equity', 'update_date': '2026-01-12 14:51:25', 'currency': 'HKD', 'indicator': 'pe_ratio', 'value': '20.029578510589843', 'value_date': '2026-01-12 14:51:25'}, {'Company_code': '00631 HK Equity', 'update_date': '2026-01-12 14:51:25', 'currency': 'HKD', 'indicator': 'pb_ratio', 'value': '2.120626607566665', 'value_date': '2026-01-12 14:51:25'}, {'Company_code': '00631 HK Equity', 'update_date': '2026-01-12 14:51:25', 'currency': 'HKD', 'indicator': 'market_cap', 'value': '29770569126.09', 'value_date': '2026-01-12 14:51:25'}, {'Company_code': '00631 HK Equity', 'update_date': '2026-01-12 14:51:25', 'currency': 'HKD', 'indicator': 'Rev_Abroad', 'value': '37.287945521334656', 'value_date': '2026-01-12 14:51:25'}, {'Company_code': '00631 HK Equity', 'update_date': '2026-01-12 14:51:25', 'currency': 'HKD', 'indicator': 'dividend_yield', 'value': '3.1487512666161748', 'value_date': '2026-01-12 14:51:25'}, {'Company_code': '00631 HK Equity', 'update_date': '2026-01-12 14:51:25', 'currency': 'HKD', 'indicator': 'IPO_date', 'value': '2009-11-25', 'value_date': '2026-01-12 14:51:25'}]
2026-01-12 14:51:26,622 - app.clients.bloomberg_client - INFO - ✅ Saved 7 records to database.
2026-01-12 14:51:26,624 - app.clients.bloomberg_client - INFO - Fetching Currency Data...
2026-01-12 14:51:26,624 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=76, Msg=正在获取货币指标 (HKD)..., Progress=41%
2026-01-12 14:51:27,834 - app.clients.bloomberg_client - INFO - REMOTE RAW OUTPUT: JSON_START
[{"Company_code": "00631 HK Equity", "update_date": "2026-01-12 14:51:27", "currency": "HKD", "indicator": "Revenue", "value": "2152.9812", "value_date": "2016-12-31"}, {"Company_code": "00631 HK Equity", "update_date": "2026-01-12 14:51:27", "currency": "HKD", "indicator": "Net_Income", "value": "-753.2314", "value_date": "2016-12-31"}, {"Company_code": "00631 HK Equity", "update_date": "2026-01-12 14:51:27", "currency": "HKD", "indicator": "Cash_From_Operating", "value": "1557.419", "value_date": "2016-12-31"}, {"Company_code": "00631 HK Equity", "update_date": "2026-01-12 14:51:27", "currency": "HKD", "indicator": "Capital_Expenditure", "value": "-179.3705", "value_date": "2016-12-31"}, {"Company_code": "00631 HK Equity", "update_date": "2026-01-12 14:51:27", "currency": "HKD", "indicator": "Free_Cash_Flow", "value": "1378.0485", "value_date": "2016-12-31"}, {"Company_code": "00631 HK Equity", "update_date": "2026-01-12 14:51:27", "currency": "HKD", "indicator": "Dividend
2026-01-12 14:51:27,835 - app.clients.bloomberg_client - INFO - ✅ Parsed 213 items from remote.
2026-01-12 14:51:37,677 - app.clients.bloomberg_client - INFO - ✅ Saved 213 records to database.
2026-01-12 14:51:37,679 - app.clients.bloomberg_client - INFO - Fetching Non-Currency Data...
2026-01-12 14:51:37,679 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=76, Msg=正在获取非货币指标..., Progress=55%
2026-01-12 14:51:39,919 - app.clients.bloomberg_client - INFO - REMOTE RAW OUTPUT: JSON_START
[{"Company_code": "00631 HK Equity", "update_date": "2026-01-12 14:51:39", "currency": "HKD", "indicator": "ROE", "value": "-10.132", "value_date": "2016-12-31"}, {"Company_code": "00631 HK Equity", "update_date": "2026-01-12 14:51:39", "currency": "HKD", "indicator": "ROA", "value": "-6.0025", "value_date": "2016-12-31"}, {"Company_code": "00631 HK Equity", "update_date": "2026-01-12 14:51:39", "currency": "HKD", "indicator": "Gross_Margin", "value": "14.994", "value_date": "2016-12-31"}, {"Company_code": "00631 HK Equity", "update_date": "2026-01-12 14:51:39", "currency": "HKD", "indicator": "EBITDA_margin", "value": "-28.2708", "value_date": "2016-12-31"}, {"Company_code": "00631 HK Equity", "update_date": "2026-01-12 14:51:39", "currency": "HKD", "indicator": "Net_Profit_Margin", "value": "-34.9855", "value_date": "2016-12-31"}, {"Company_code": "00631 HK Equity", "update_date": "2026-01-12 14:51:39", "currency": "HKD", "indicator": "Tax_Rate", "value": "0.25", "value_da
2026-01-12 14:51:39,919 - app.clients.bloomberg_client - INFO - ✅ Parsed 150 items from remote.
2026-01-12 14:51:50,298 - app.clients.bloomberg_client - INFO - ✅ Saved 150 records to database.
2026-01-12 14:51:50,300 - app.clients.bloomberg_client - INFO - Fetching Price Data (Aligned)...
2026-01-12 14:51:50,300 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=76, Msg=正在获取价格指标..., Progress=69%
2026-01-12 14:51:50,718 - app.clients.bloomberg_client - WARNING - No revenue dates found. Falling back to yearly price fetch.
2026-01-12 14:51:51,380 - app.clients.bloomberg_client - INFO - REMOTE RAW OUTPUT: JSON_START
[{"Company_code": "00631 HK Equity", "update_date": "2026-01-12 14:51:50", "currency": "HKD", "indicator": "Last_Price", "value": "1.24", "value_date": "2016-12-31"}, {"Company_code": "00631 HK Equity", "update_date": "2026-01-12 14:51:50", "currency": "HKD", "indicator": "Market_Cap", "value": "3770.8709", "value_date": "2016-12-31"}, {"Company_code": "00631 HK Equity", "update_date": "2026-01-12 14:51:50", "currency": "HKD", "indicator": "Last_Price", "value": "1.71", "value_date": "2017-12-31"}, {"Company_code": "00631 HK Equity", "update_date": "2026-01-12 14:51:50", "currency": "HKD", "indicator": "Market_Cap", "value": "5200.1528", "value_date": "2017-12-31"}, {"Company_code": "00631 HK Equity", "update_date": "2026-01-12 14:51:50", "currency": "HKD", "indicator": "Last_Price", "value": "2.67", "value_date": "2018-12-31"}, {"Company_code": "00631 HK Equity", "update_date": "2026-01-12 14:51:50", "currency": "HKD", "indicator": "Market_Cap", "value": "8119.5368", "value
2026-01-12 14:51:51,380 - app.clients.bloomberg_client - INFO - ✅ Parsed 25 items from remote.
2026-01-12 14:51:53,217 - app.clients.bloomberg_client - INFO - ✅ Saved 25 records to database.
2026-01-12 14:51:53,218 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=76, Msg=Finalizing data..., Progress=82%
2026-01-12 14:51:54,383 - app.clients.bloomberg_client - INFO - ✅ Cleanup and View Refresh completed.
2026-01-12 14:51:54,384 - app.clients.bloomberg_client - INFO - ✅ Completed processing for 00631 HK Equity
2026-01-12 14:51:54,384 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=76, Msg=Bloomberg data sync complete, Progress=90%
2026-01-12 14:51:54,664 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=76, Msg=Bloomberg 数据同步完成, Progress=100%
2026-01-12 15:00:38,249 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=77, Msg=正在初始化数据获取..., Progress=0%
2026-01-12 15:00:39,187 - app.clients.bloomberg_client - INFO - Connecting to Jupyter at http://192.168.3.161:8888...
2026-01-12 15:00:39,747 - app.clients.bloomberg_client - INFO - ✅ Authentication successful.
2026-01-12 15:00:39,779 - app.clients.bloomberg_client - INFO - ✅ Found existing kernel: bc27f3b1-b028-434a-99fa-c1cad4495a87 (remote_env)
2026-01-12 15:00:39,850 - app.clients.bloomberg_client - INFO - ✅ WebSocket connected.
2026-01-12 15:00:39,850 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=77, Msg=数据源连接成功, Progress=10%
2026-01-12 15:00:40,301 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=77, Msg=正在连接 Bloomberg 终端..., Progress=20%
2026-01-12 15:00:40,995 - app.clients.bloomberg_client - INFO - 🚀 Starting fetch for: 6301 JP Equity
2026-01-12 15:00:40,995 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=77, Msg=Starting Bloomberg session..., Progress=20%
2026-01-12 15:00:41,901 - app.clients.bloomberg_client - INFO - Using forced currency: CNY
2026-01-12 15:00:41,901 - app.clients.bloomberg_client - INFO - Fetching Basic Data...
2026-01-12 15:00:41,901 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=77, Msg=Fetching Company Basic Info..., Progress=27%
2026-01-12 15:00:43,438 - app.clients.bloomberg_client - INFO - REMOTE RAW OUTPUT: JSON_START
[{"Company_code": "6301 JP Equity", "update_date": "2026-01-12 15:00:43", "currency": "CNY", "indicator": "company_name", "value": "KOMATSU LTD", "value_date": "2026-01-12 15:00:43"}, {"Company_code": "6301 JP Equity", "update_date": "2026-01-12 15:00:43", "currency": "CNY", "indicator": "pe_ratio", "value": "11.538204871538206", "value_date": "2026-01-12 15:00:43"}, {"Company_code": "6301 JP Equity", "update_date": "2026-01-12 15:00:43", "currency": "CNY", "indicator": "pb_ratio", "value": "1.4637777168999744", "value_date": "2026-01-12 15:00:43"}, {"Company_code": "6301 JP Equity", "update_date": "2026-01-12 15:00:43", "currency": "CNY", "indicator": "market_cap", "value": "4825676795940.001", "value_date": "2026-01-12 15:00:43"}, {"Company_code": "6301 JP Equity", "update_date": "2026-01-12 15:00:43", "currency": "CNY", "indicator": "Rev_Abroad", "value": "86.05716369679564", "value_date": "2026-01-12 15:00:43"}, {"Company_code": "6301 JP Equity", "update_date": "2026-01-
2026-01-12 15:00:43,438 - app.clients.bloomberg_client - INFO - ✅ Parsed 6 items from remote.
2026-01-12 15:00:43,439 - app.clients.bloomberg_client - INFO - DEBUG: basic_data before save: [{'Company_code': '6301 JP Equity', 'update_date': '2026-01-12 15:00:43', 'currency': 'CNY', 'indicator': 'company_name', 'value': 'KOMATSU LTD', 'value_date': '2026-01-12 15:00:43'}, {'Company_code': '6301 JP Equity', 'update_date': '2026-01-12 15:00:43', 'currency': 'CNY', 'indicator': 'pe_ratio', 'value': '11.538204871538206', 'value_date': '2026-01-12 15:00:43'}, {'Company_code': '6301 JP Equity', 'update_date': '2026-01-12 15:00:43', 'currency': 'CNY', 'indicator': 'pb_ratio', 'value': '1.4637777168999744', 'value_date': '2026-01-12 15:00:43'}, {'Company_code': '6301 JP Equity', 'update_date': '2026-01-12 15:00:43', 'currency': 'CNY', 'indicator': 'market_cap', 'value': '4825676795940.001', 'value_date': '2026-01-12 15:00:43'}, {'Company_code': '6301 JP Equity', 'update_date': '2026-01-12 15:00:43', 'currency': 'CNY', 'indicator': 'Rev_Abroad', 'value': '86.05716369679564', 'value_date': '2026-01-12 15:00:43'}, {'Company_code': '6301 JP Equity', 'update_date': '2026-01-12 15:00:43', 'currency': 'CNY', 'indicator': 'dividend_yield', 'value': '3.894351262772315', 'value_date': '2026-01-12 15:00:43'}]
2026-01-12 15:00:45,449 - app.clients.bloomberg_client - INFO - ✅ Saved 6 records to database.
2026-01-12 15:00:45,450 - app.clients.bloomberg_client - INFO - Fetching Currency Data...
2026-01-12 15:00:45,450 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=77, Msg=正在获取货币指标 (CNY)..., Progress=41%
2026-01-12 15:00:46,868 - app.clients.bloomberg_client - INFO - REMOTE RAW OUTPUT: JSON_START
[{"Company_code": "6301 JP Equity", "update_date": "2026-01-12 15:00:46", "currency": "CNY", "indicator": "Revenue", "value": "98388.5158", "value_date": "2016-03-31"}, {"Company_code": "6301 JP Equity", "update_date": "2026-01-12 15:00:46", "currency": "CNY", "indicator": "Net_Income", "value": "7289.1658", "value_date": "2016-03-31"}, {"Company_code": "6301 JP Equity", "update_date": "2026-01-12 15:00:46", "currency": "CNY", "indicator": "Cash_From_Operating", "value": "16953.5985", "value_date": "2016-03-31"}, {"Company_code": "6301 JP Equity", "update_date": "2026-01-12 15:00:46", "currency": "CNY", "indicator": "Capital_Expenditure", "value": "-8830.1561", "value_date": "2016-03-31"}, {"Company_code": "6301 JP Equity", "update_date": "2026-01-12 15:00:46", "currency": "CNY", "indicator": "Free_Cash_Flow", "value": "8123.4424", "value_date": "2016-03-31"}, {"Company_code": "6301 JP Equity", "update_date": "2026-01-12 15:00:46", "currency": "CNY", "indicator": "Dividends_
2026-01-12 15:00:46,869 - app.clients.bloomberg_client - INFO - ✅ Parsed 248 items from remote.
2026-01-12 15:01:02,833 - app.clients.bloomberg_client - INFO - ✅ Saved 248 records to database.
2026-01-12 15:01:02,835 - app.clients.bloomberg_client - INFO - Fetching Non-Currency Data...
2026-01-12 15:01:02,835 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=77, Msg=正在获取非货币指标..., Progress=55%
2026-01-12 15:01:03,945 - app.clients.bloomberg_client - INFO - REMOTE RAW OUTPUT: JSON_START
[{"Company_code": "6301 JP Equity", "update_date": "2026-01-12 15:01:03", "currency": "CNY", "indicator": "ROE", "value": "9.0222", "value_date": "2016-03-31"}, {"Company_code": "6301 JP Equity", "update_date": "2026-01-12 15:01:03", "currency": "CNY", "indicator": "ROA", "value": "5.0776", "value_date": "2016-03-31"}, {"Company_code": "6301 JP Equity", "update_date": "2026-01-12 15:01:03", "currency": "CNY", "indicator": "ROCE", "value": "10.4918", "value_date": "2016-03-31"}, {"Company_code": "6301 JP Equity", "update_date": "2026-01-12 15:01:03", "currency": "CNY", "indicator": "Gross_Margin", "value": "29.0675", "value_date": "2016-03-31"}, {"Company_code": "6301 JP Equity", "update_date": "2026-01-12 15:01:03", "currency": "CNY", "indicator": "EBITDA_margin", "value": "17.3073", "value_date": "2016-03-31"}, {"Company_code": "6301 JP Equity", "update_date": "2026-01-12 15:01:03", "currency": "CNY", "indicator": "Net_Profit_Margin", "value": "7.4086", "value_date": "2016-
2026-01-12 15:01:03,946 - app.clients.bloomberg_client - INFO - ✅ Parsed 200 items from remote.
2026-01-12 15:01:16,421 - app.clients.bloomberg_client - INFO - ✅ Saved 200 records to database.
2026-01-12 15:01:16,422 - app.clients.bloomberg_client - INFO - Fetching Price Data (Aligned)...
2026-01-12 15:01:16,422 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=77, Msg=正在获取价格指标..., Progress=69%
2026-01-12 15:01:17,447 - app.clients.bloomberg_client - WARNING - No revenue dates found. Falling back to yearly price fetch (Dec 31).
2026-01-12 15:01:30,781 - app.clients.bloomberg_client - INFO - REMOTE RAW OUTPUT: JSON_START
[{"Company_code": "6301 JP Equity", "update_date": "2026-01-12 15:01:17", "currency": "CNY", "indicator": "Last_Price", "value": "223.73673", "value_date": "2025-12-31"}, {"Company_code": "6301 JP Equity", "update_date": "2026-01-12 15:01:17", "currency": "CNY", "indicator": "Market_Cap", "value": "208151.3659", "value_date": "2025-12-31"}, {"Company_code": "6301 JP Equity", "update_date": "2026-01-12 15:01:17", "currency": "CNY", "indicator": "Dividend_Yield", "value": "4.04", "value_date": "2025-12-31"}, {"Company_code": "6301 JP Equity", "update_date": "2026-01-12 15:01:17", "currency": "CNY", "indicator": "Last_Price", "value": "202.05148", "value_date": "2024-12-31"}, {"Company_code": "6301 JP Equity", "update_date": "2026-01-12 15:01:17", "currency": "CNY", "indicator": "Market_Cap", "value": "192141.4848", "value_date": "2024-12-31"}, {"Company_code": "6301 JP Equity", "update_date": "2026-01-12 15:01:17", "currency": "CNY", "indicator": "Dividend_Yield", "value": "4.
2026-01-12 15:01:30,783 - app.clients.bloomberg_client - INFO - ✅ Parsed 30 items from remote.
2026-01-12 15:01:33,358 - app.clients.bloomberg_client - INFO - ✅ Saved 30 records to database.
2026-01-12 15:01:33,358 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=77, Msg=Finalizing data..., Progress=82%
2026-01-12 15:01:34,774 - app.clients.bloomberg_client - INFO - ✅ Cleanup and View Refresh completed.
2026-01-12 15:01:34,774 - app.clients.bloomberg_client - INFO - ✅ Completed processing for 6301 JP Equity
2026-01-12 15:01:34,775 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=77, Msg=Bloomberg data sync complete, Progress=90%
2026-01-12 15:01:35,316 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=77, Msg=Bloomberg 数据同步完成, Progress=100%
2026-01-12 15:03:03,280 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=78, Msg=正在初始化数据获取..., Progress=0%
2026-01-12 15:03:04,370 - app.clients.bloomberg_client - INFO - Connecting to Jupyter at http://192.168.3.161:8888...
2026-01-12 15:03:04,916 - app.clients.bloomberg_client - INFO - ✅ Authentication successful.
2026-01-12 15:03:04,945 - app.clients.bloomberg_client - INFO - ✅ Found existing kernel: bc27f3b1-b028-434a-99fa-c1cad4495a87 (remote_env)
2026-01-12 15:03:05,071 - app.clients.bloomberg_client - INFO - ✅ WebSocket connected.
2026-01-12 15:03:05,196 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=78, Msg=数据源连接成功, Progress=10%
2026-01-12 15:03:06,469 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=78, Msg=正在连接 Bloomberg 终端..., Progress=20%
2026-01-12 15:03:06,746 - app.clients.bloomberg_client - INFO - 🚀 Starting fetch for: 6301 JP Equity
2026-01-12 15:03:06,746 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=78, Msg=Starting Bloomberg session..., Progress=20%
2026-01-12 15:03:07,404 - app.clients.bloomberg_client - INFO - Using forced currency: CNY
2026-01-12 15:03:07,405 - app.clients.bloomberg_client - INFO - Fetching Basic Data...
2026-01-12 15:03:07,406 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=78, Msg=Fetching Company Basic Info..., Progress=27%
2026-01-12 15:03:08,864 - app.clients.bloomberg_client - INFO - REMOTE RAW OUTPUT: JSON_START
[{"Company_code": "6301 JP Equity", "update_date": "2026-01-12 15:03:09", "currency": "CNY", "indicator": "company_name", "value": "KOMATSU LTD", "value_date": "2026-01-12 15:03:09"}, {"Company_code": "6301 JP Equity", "update_date": "2026-01-12 15:03:09", "currency": "CNY", "indicator": "pe_ratio", "value": "11.538204871538206", "value_date": "2026-01-12 15:03:09"}, {"Company_code": "6301 JP Equity", "update_date": "2026-01-12 15:03:09", "currency": "CNY", "indicator": "pb_ratio", "value": "1.4637777168999744", "value_date": "2026-01-12 15:03:09"}, {"Company_code": "6301 JP Equity", "update_date": "2026-01-12 15:03:09", "currency": "CNY", "indicator": "market_cap", "value": "4825676795940.001", "value_date": "2026-01-12 15:03:09"}, {"Company_code": "6301 JP Equity", "update_date": "2026-01-12 15:03:09", "currency": "CNY", "indicator": "Rev_Abroad", "value": "86.05716369679564", "value_date": "2026-01-12 15:03:09"}, {"Company_code": "6301 JP Equity", "update_date": "2026-01-
2026-01-12 15:03:08,865 - app.clients.bloomberg_client - INFO - ✅ Parsed 6 items from remote.
2026-01-12 15:03:08,865 - app.clients.bloomberg_client - INFO - DEBUG: basic_data before save: [{'Company_code': '6301 JP Equity', 'update_date': '2026-01-12 15:03:09', 'currency': 'CNY', 'indicator': 'company_name', 'value': 'KOMATSU LTD', 'value_date': '2026-01-12 15:03:09'}, {'Company_code': '6301 JP Equity', 'update_date': '2026-01-12 15:03:09', 'currency': 'CNY', 'indicator': 'pe_ratio', 'value': '11.538204871538206', 'value_date': '2026-01-12 15:03:09'}, {'Company_code': '6301 JP Equity', 'update_date': '2026-01-12 15:03:09', 'currency': 'CNY', 'indicator': 'pb_ratio', 'value': '1.4637777168999744', 'value_date': '2026-01-12 15:03:09'}, {'Company_code': '6301 JP Equity', 'update_date': '2026-01-12 15:03:09', 'currency': 'CNY', 'indicator': 'market_cap', 'value': '4825676795940.001', 'value_date': '2026-01-12 15:03:09'}, {'Company_code': '6301 JP Equity', 'update_date': '2026-01-12 15:03:09', 'currency': 'CNY', 'indicator': 'Rev_Abroad', 'value': '86.05716369679564', 'value_date': '2026-01-12 15:03:09'}, {'Company_code': '6301 JP Equity', 'update_date': '2026-01-12 15:03:09', 'currency': 'CNY', 'indicator': 'dividend_yield', 'value': '3.894351262772315', 'value_date': '2026-01-12 15:03:09'}]
2026-01-12 15:03:10,135 - app.clients.bloomberg_client - INFO - ✅ Saved 6 records to database.
2026-01-12 15:03:10,135 - app.clients.bloomberg_client - INFO - Fetching Currency Data...
2026-01-12 15:03:10,136 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=78, Msg=正在获取货币指标 (CNY)..., Progress=41%
2026-01-12 15:03:11,570 - app.clients.bloomberg_client - INFO - REMOTE RAW OUTPUT: JSON_START
[{"Company_code": "6301 JP Equity", "update_date": "2026-01-12 15:03:10", "currency": "CNY", "indicator": "Revenue", "value": "98388.5158", "value_date": "2016-03-31"}, {"Company_code": "6301 JP Equity", "update_date": "2026-01-12 15:03:10", "currency": "CNY", "indicator": "Net_Income", "value": "7289.1658", "value_date": "2016-03-31"}, {"Company_code": "6301 JP Equity", "update_date": "2026-01-12 15:03:10", "currency": "CNY", "indicator": "Cash_From_Operating", "value": "16953.5985", "value_date": "2016-03-31"}, {"Company_code": "6301 JP Equity", "update_date": "2026-01-12 15:03:10", "currency": "CNY", "indicator": "Capital_Expenditure", "value": "-8830.1561", "value_date": "2016-03-31"}, {"Company_code": "6301 JP Equity", "update_date": "2026-01-12 15:03:10", "currency": "CNY", "indicator": "Free_Cash_Flow", "value": "8123.4424", "value_date": "2016-03-31"}, {"Company_code": "6301 JP Equity", "update_date": "2026-01-12 15:03:10", "currency": "CNY", "indicator": "Dividends_
2026-01-12 15:03:11,570 - app.clients.bloomberg_client - INFO - ✅ Parsed 248 items from remote.
2026-01-12 15:03:29,582 - app.clients.bloomberg_client - INFO - ✅ Saved 248 records to database.
2026-01-12 15:03:29,585 - app.clients.bloomberg_client - INFO - Fetching Non-Currency Data...
2026-01-12 15:03:29,585 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=78, Msg=正在获取非货币指标..., Progress=55%
2026-01-12 15:03:30,903 - app.clients.bloomberg_client - INFO - REMOTE RAW OUTPUT: JSON_START
[{"Company_code": "6301 JP Equity", "update_date": "2026-01-12 15:03:30", "currency": "CNY", "indicator": "ROE", "value": "9.0222", "value_date": "2016-03-31"}, {"Company_code": "6301 JP Equity", "update_date": "2026-01-12 15:03:30", "currency": "CNY", "indicator": "ROA", "value": "5.0776", "value_date": "2016-03-31"}, {"Company_code": "6301 JP Equity", "update_date": "2026-01-12 15:03:30", "currency": "CNY", "indicator": "ROCE", "value": "10.4918", "value_date": "2016-03-31"}, {"Company_code": "6301 JP Equity", "update_date": "2026-01-12 15:03:30", "currency": "CNY", "indicator": "Gross_Margin", "value": "29.0675", "value_date": "2016-03-31"}, {"Company_code": "6301 JP Equity", "update_date": "2026-01-12 15:03:30", "currency": "CNY", "indicator": "EBITDA_margin", "value": "17.3073", "value_date": "2016-03-31"}, {"Company_code": "6301 JP Equity", "update_date": "2026-01-12 15:03:30", "currency": "CNY", "indicator": "Net_Profit_Margin", "value": "7.4086", "value_date": "2016-
2026-01-12 15:03:30,904 - app.clients.bloomberg_client - INFO - ✅ Parsed 200 items from remote.
2026-01-12 15:03:42,872 - app.clients.bloomberg_client - INFO - ✅ Saved 200 records to database.
2026-01-12 15:03:42,874 - app.clients.bloomberg_client - INFO - Fetching Price Data (Aligned)...
2026-01-12 15:03:42,874 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=78, Msg=正在获取价格指标..., Progress=69%
2026-01-12 15:03:44,697 - app.clients.bloomberg_client - INFO - Found 10 revenue reporting dates. Fetching aligned price data...
2026-01-12 15:03:57,466 - app.clients.bloomberg_client - INFO - REMOTE RAW OUTPUT: JSON_START
[{"Company_code": "6301 JP Equity", "update_date": "2026-01-12 15:03:44", "currency": "CNY", "indicator": "Last_Price", "value": "208.47187", "value_date": "2025-03-31"}, {"Company_code": "6301 JP Equity", "update_date": "2026-01-12 15:03:44", "currency": "CNY", "indicator": "Market_Cap", "value": "198246.9783", "value_date": "2025-03-31"}, {"Company_code": "6301 JP Equity", "update_date": "2026-01-12 15:03:44", "currency": "CNY", "indicator": "Dividend_Yield", "value": "4.4124", "value_date": "2025-03-31"}, {"Company_code": "6301 JP Equity", "update_date": "2026-01-12 15:03:44", "currency": "CNY", "indicator": "Last_Price", "value": "211.10676", "value_date": "2024-03-31"}, {"Company_code": "6301 JP Equity", "update_date": "2026-01-12 15:03:44", "currency": "CNY", "indicator": "Market_Cap", "value": "205578.0066", "value_date": "2024-03-31"}, {"Company_code": "6301 JP Equity", "update_date": "2026-01-12 15:03:44", "currency": "CNY", "indicator": "Dividend_Yield", "value": "
2026-01-12 15:03:57,467 - app.clients.bloomberg_client - INFO - ✅ Parsed 30 items from remote.
2026-01-12 15:04:01,642 - app.clients.bloomberg_client - INFO - ✅ Saved 30 records to database.
2026-01-12 15:04:01,642 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=78, Msg=Finalizing data..., Progress=82%
2026-01-12 15:04:03,197 - app.clients.bloomberg_client - INFO - ✅ Cleanup and View Refresh completed.
2026-01-12 15:04:03,198 - app.clients.bloomberg_client - INFO - ✅ Completed processing for 6301 JP Equity
2026-01-12 15:04:03,199 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=78, Msg=Bloomberg data sync complete, Progress=90%
2026-01-12 15:04:03,616 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=78, Msg=Bloomberg 数据同步完成, Progress=100%
2026-01-12 18:12:48,235 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=79, Msg=正在初始化数据获取..., Progress=0%
2026-01-12 18:12:49,501 - app.clients.bloomberg_client - INFO - Connecting to Jupyter at http://192.168.3.161:8888...
2026-01-12 18:12:49,900 - app.clients.bloomberg_client - INFO - ✅ Authentication successful.
2026-01-12 18:12:50,098 - app.clients.bloomberg_client - INFO - ✅ Found existing kernel: bc27f3b1-b028-434a-99fa-c1cad4495a87 (remote_env)
2026-01-12 18:12:50,156 - app.clients.bloomberg_client - INFO - ✅ WebSocket connected.
2026-01-12 18:12:50,156 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=79, Msg=数据源连接成功, Progress=10%
2026-01-12 18:12:51,415 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=79, Msg=正在连接 Bloomberg 终端..., Progress=20%
2026-01-12 18:12:53,347 - app.clients.bloomberg_client - INFO - 🚀 Starting fetch for: 000725 CH Equity
2026-01-12 18:12:53,347 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=79, Msg=Starting Bloomberg session..., Progress=20%
2026-01-12 18:12:54,548 - app.clients.bloomberg_client - INFO - Using auto-detected currency: CNY
2026-01-12 18:12:54,548 - app.clients.bloomberg_client - INFO - Fetching Basic Data...
2026-01-12 18:12:54,548 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=79, Msg=Fetching Company Basic Info..., Progress=27%
2026-01-12 18:12:55,901 - app.clients.bloomberg_client - INFO - REMOTE RAW OUTPUT: JSON_START
[{"Company_code": "000725 CH Equity", "update_date": "2026-01-12 18:12:56", "currency": "CNY", "indicator": "company_name", "value": "BOE TECHNOLOGY GROUP CO LT-A", "value_date": "2026-01-12 18:12:56"}, {"Company_code": "000725 CH Equity", "update_date": "2026-01-12 18:12:56", "currency": "CNY", "indicator": "pe_ratio", "value": "25.959361598462067", "value_date": "2026-01-12 18:12:56"}, {"Company_code": "000725 CH Equity", "update_date": "2026-01-12 18:12:56", "currency": "CNY", "indicator": "pb_ratio", "value": "1.2417412746613823", "value_date": "2026-01-12 18:12:56"}, {"Company_code": "000725 CH Equity", "update_date": "2026-01-12 18:12:56", "currency": "CNY", "indicator": "market_cap", "value": "164036307936.54987", "value_date": "2026-01-12 18:12:56"}, {"Company_code": "000725 CH Equity", "update_date": "2026-01-12 18:12:56", "currency": "CNY", "indicator": "Rev_Abroad", "value": "49.83268989557015", "value_date": "2026-01-12 18:12:56"}, {"Company_code": "000725 CH Equ
2026-01-12 18:12:55,905 - app.clients.bloomberg_client - INFO - ✅ Parsed 7 items from remote.
2026-01-12 18:12:55,906 - app.clients.bloomberg_client - INFO - DEBUG: basic_data before save: [{'Company_code': '000725 CH Equity', 'update_date': '2026-01-12 18:12:56', 'currency': 'CNY', 'indicator': 'company_name', 'value': 'BOE TECHNOLOGY GROUP CO LT-A', 'value_date': '2026-01-12 18:12:56'}, {'Company_code': '000725 CH Equity', 'update_date': '2026-01-12 18:12:56', 'currency': 'CNY', 'indicator': 'pe_ratio', 'value': '25.959361598462067', 'value_date': '2026-01-12 18:12:56'}, {'Company_code': '000725 CH Equity', 'update_date': '2026-01-12 18:12:56', 'currency': 'CNY', 'indicator': 'pb_ratio', 'value': '1.2417412746613823', 'value_date': '2026-01-12 18:12:56'}, {'Company_code': '000725 CH Equity', 'update_date': '2026-01-12 18:12:56', 'currency': 'CNY', 'indicator': 'market_cap', 'value': '164036307936.54987', 'value_date': '2026-01-12 18:12:56'}, {'Company_code': '000725 CH Equity', 'update_date': '2026-01-12 18:12:56', 'currency': 'CNY', 'indicator': 'Rev_Abroad', 'value': '49.83268989557015', 'value_date': '2026-01-12 18:12:56'}, {'Company_code': '000725 CH Equity', 'update_date': '2026-01-12 18:12:56', 'currency': 'CNY', 'indicator': 'dividend_yield', 'value': '1.1210762498891942', 'value_date': '2026-01-12 18:12:56'}, {'Company_code': '000725 CH Equity', 'update_date': '2026-01-12 18:12:56', 'currency': 'CNY', 'indicator': 'IPO_date', 'value': '2001-01-12', 'value_date': '2026-01-12 18:12:56'}]
2026-01-12 18:12:56,950 - app.clients.bloomberg_client - INFO - ✅ Saved 7 records to database.
2026-01-12 18:12:56,951 - app.clients.bloomberg_client - INFO - Fetching Currency Data...
2026-01-12 18:12:56,951 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=79, Msg=正在获取货币指标 (CNY)..., Progress=41%
2026-01-12 18:13:00,033 - app.clients.bloomberg_client - INFO - REMOTE RAW OUTPUT: JSON_START
[{"Company_code": "000725 CH Equity", "update_date": "2026-01-12 18:12:59", "currency": "CNY", "indicator": "Revenue", "value": "68895.659", "value_date": "2016-12-31"}, {"Company_code": "000725 CH Equity", "update_date": "2026-01-12 18:12:59", "currency": "CNY", "indicator": "Net_Income", "value": "1882.5717", "value_date": "2016-12-31"}, {"Company_code": "000725 CH Equity", "update_date": "2026-01-12 18:12:59", "currency": "CNY", "indicator": "Cash_From_Operating", "value": "8308.9467", "value_date": "2016-12-31"}, {"Company_code": "000725 CH Equity", "update_date": "2026-01-12 18:12:59", "currency": "CNY", "indicator": "Capital_Expenditure", "value": "-30702.6147", "value_date": "2016-12-31"}, {"Company_code": "000725 CH Equity", "update_date": "2026-01-12 18:12:59", "currency": "CNY", "indicator": "Free_Cash_Flow", "value": "-22393.668", "value_date": "2016-12-31"}, {"Company_code": "000725 CH Equity", "update_date": "2026-01-12 18:12:59", "currency": "CNY", "indicator":
2026-01-12 18:13:00,034 - app.clients.bloomberg_client - INFO - ✅ Parsed 225 items from remote.
2026-01-12 18:13:21,758 - app.clients.bloomberg_client - INFO - ✅ Saved 225 records to database.
2026-01-12 18:13:21,759 - app.clients.bloomberg_client - INFO - Fetching Non-Currency Data...
2026-01-12 18:13:21,760 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=79, Msg=正在获取非货币指标..., Progress=55%
2026-01-12 18:13:22,781 - app.clients.bloomberg_client - INFO - REMOTE RAW OUTPUT: JSON_START
[{"Company_code": "000725 CH Equity", "update_date": "2026-01-12 18:13:22", "currency": "CNY", "indicator": "ROE", "value": "2.4107", "value_date": "2016-12-31"}, {"Company_code": "000725 CH Equity", "update_date": "2026-01-12 18:13:22", "currency": "CNY", "indicator": "ROA", "value": "1.0525", "value_date": "2016-12-31"}, {"Company_code": "000725 CH Equity", "update_date": "2026-01-12 18:13:22", "currency": "CNY", "indicator": "ROCE", "value": "2.905", "value_date": "2016-12-31"}, {"Company_code": "000725 CH Equity", "update_date": "2026-01-12 18:13:22", "currency": "CNY", "indicator": "Gross_Margin", "value": "17.8675", "value_date": "2016-12-31"}, {"Company_code": "000725 CH Equity", "update_date": "2026-01-12 18:13:22", "currency": "CNY", "indicator": "EBITDA_margin", "value": "18.8079", "value_date": "2016-12-31"}, {"Company_code": "000725 CH Equity", "update_date": "2026-01-12 18:13:22", "currency": "CNY", "indicator": "Net_Profit_Margin", "value": "2.7325", "value_dat
2026-01-12 18:13:22,781 - app.clients.bloomberg_client - INFO - ✅ Parsed 175 items from remote.
2026-01-12 18:13:42,509 - app.clients.bloomberg_client - INFO - ✅ Saved 175 records to database.
2026-01-12 18:13:42,510 - app.clients.bloomberg_client - INFO - Fetching Price Data (Aligned)...
2026-01-12 18:13:42,510 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=79, Msg=正在获取价格指标..., Progress=69%
2026-01-12 18:13:43,034 - app.clients.bloomberg_client - INFO - Found 9 revenue reporting dates. Fetching aligned price data...
2026-01-12 18:13:53,991 - app.clients.bloomberg_client - INFO - REMOTE RAW OUTPUT: JSON_START
[{"Company_code": "000725 CH Equity", "update_date": "2026-01-12 18:13:43", "currency": "CNY", "indicator": "Last_Price", "value": "4.39", "value_date": "2024-12-31"}, {"Company_code": "000725 CH Equity", "update_date": "2026-01-12 18:13:43", "currency": "CNY", "indicator": "Market_Cap", "value": "163990.883", "value_date": "2024-12-31"}, {"Company_code": "000725 CH Equity", "update_date": "2026-01-12 18:13:43", "currency": "CNY", "indicator": "Dividend_Yield", "value": "0.6834", "value_date": "2024-12-31"}, {"Company_code": "000725 CH Equity", "update_date": "2026-01-12 18:13:43", "currency": "CNY", "indicator": "Last_Price", "value": "3.9", "value_date": "2023-12-31"}, {"Company_code": "000725 CH Equity", "update_date": "2026-01-12 18:13:43", "currency": "CNY", "indicator": "Market_Cap", "value": "145742.6957", "value_date": "2023-12-31"}, {"Company_code": "000725 CH Equity", "update_date": "2026-01-12 18:13:43", "currency": "CNY", "indicator": "Dividend_Yield", "value": "
2026-01-12 18:13:53,992 - app.clients.bloomberg_client - INFO - ✅ Parsed 27 items from remote.
2026-01-12 18:13:56,649 - app.clients.bloomberg_client - INFO - ✅ Saved 27 records to database.
2026-01-12 18:13:56,649 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=79, Msg=Finalizing data..., Progress=82%
2026-01-12 18:13:59,126 - app.clients.bloomberg_client - INFO - ✅ Cleanup and View Refresh completed.
2026-01-12 18:13:59,127 - app.clients.bloomberg_client - INFO - ✅ Completed processing for 000725 CH Equity
2026-01-12 18:13:59,127 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=79, Msg=Bloomberg data sync complete, Progress=90%
2026-01-12 18:13:59,568 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=79, Msg=Bloomberg 数据同步完成, Progress=100%
2026-01-12 18:50:10,831 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=80, Msg=正在初始化数据获取..., Progress=0%
2026-01-12 18:50:11,898 - app.clients.bloomberg_client - INFO - Connecting to Jupyter at http://192.168.3.161:8888...
2026-01-12 18:50:12,774 - app.clients.bloomberg_client - INFO - ✅ Authentication successful.
2026-01-12 18:50:12,816 - app.clients.bloomberg_client - INFO - ✅ Found existing kernel: bc27f3b1-b028-434a-99fa-c1cad4495a87 (remote_env)
2026-01-12 18:50:12,900 - app.clients.bloomberg_client - INFO - ✅ WebSocket connected.
2026-01-12 18:50:12,900 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=80, Msg=数据源连接成功, Progress=10%
2026-01-12 18:50:13,188 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=80, Msg=正在连接 Bloomberg 终端..., Progress=20%
2026-01-12 18:50:13,808 - app.clients.bloomberg_client - INFO - 🚀 Starting fetch for: 000725 CH Equity
2026-01-12 18:50:13,808 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=80, Msg=Starting Bloomberg session..., Progress=20%
2026-01-12 18:50:14,304 - app.clients.bloomberg_client - INFO - Using auto-detected currency: CNY
2026-01-12 18:50:14,305 - app.clients.bloomberg_client - INFO - Fetching Basic Data...
2026-01-12 18:50:14,305 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=80, Msg=Fetching Company Basic Info..., Progress=27%
2026-01-12 18:50:16,663 - app.clients.bloomberg_client - INFO - REMOTE RAW OUTPUT: JSON_START
[{"Company_code": "000725 CH Equity", "update_date": "2026-01-12 18:50:17", "currency": "CNY", "indicator": "company_name", "value": "BOE TECHNOLOGY GROUP CO LT-A", "value_date": "2026-01-12 18:50:17"}, {"Company_code": "000725 CH Equity", "update_date": "2026-01-12 18:50:17", "currency": "CNY", "indicator": "pe_ratio", "value": "25.959361598462067", "value_date": "2026-01-12 18:50:17"}, {"Company_code": "000725 CH Equity", "update_date": "2026-01-12 18:50:17", "currency": "CNY", "indicator": "pb_ratio", "value": "1.2417412746613823", "value_date": "2026-01-12 18:50:17"}, {"Company_code": "000725 CH Equity", "update_date": "2026-01-12 18:50:17", "currency": "CNY", "indicator": "Rev_Abroad", "value": "49.83268989557015", "value_date": "2026-01-12 18:50:17"}, {"Company_code": "000725 CH Equity", "update_date": "2026-01-12 18:50:17", "currency": "CNY", "indicator": "dividend_yield", "value": "1.1210762498891942", "value_date": "2026-01-12 18:50:17"}, {"Company_code": "000725 CH
2026-01-12 18:50:16,664 - app.clients.bloomberg_client - INFO - ✅ Parsed 7 items from remote.
2026-01-12 18:50:16,664 - app.clients.bloomberg_client - INFO - DEBUG: basic_data before save: [{'Company_code': '000725 CH Equity', 'update_date': '2026-01-12 18:50:17', 'currency': 'CNY', 'indicator': 'company_name', 'value': 'BOE TECHNOLOGY GROUP CO LT-A', 'value_date': '2026-01-12 18:50:17'}, {'Company_code': '000725 CH Equity', 'update_date': '2026-01-12 18:50:17', 'currency': 'CNY', 'indicator': 'pe_ratio', 'value': '25.959361598462067', 'value_date': '2026-01-12 18:50:17'}, {'Company_code': '000725 CH Equity', 'update_date': '2026-01-12 18:50:17', 'currency': 'CNY', 'indicator': 'pb_ratio', 'value': '1.2417412746613823', 'value_date': '2026-01-12 18:50:17'}, {'Company_code': '000725 CH Equity', 'update_date': '2026-01-12 18:50:17', 'currency': 'CNY', 'indicator': 'Rev_Abroad', 'value': '49.83268989557015', 'value_date': '2026-01-12 18:50:17'}, {'Company_code': '000725 CH Equity', 'update_date': '2026-01-12 18:50:17', 'currency': 'CNY', 'indicator': 'dividend_yield', 'value': '1.1210762498891942', 'value_date': '2026-01-12 18:50:17'}, {'Company_code': '000725 CH Equity', 'update_date': '2026-01-12 18:50:17', 'currency': 'CNY', 'indicator': 'IPO_date', 'value': '2001-01-12', 'value_date': '2026-01-12 18:50:17'}, {'Company_code': '000725 CH Equity', 'update_date': '2026-01-12 18:50:17', 'currency': 'CNY', 'indicator': 'market_cap', 'value': '164036.2257', 'value_date': '2026-01-12 18:50:17'}]
2026-01-12 18:50:17,449 - app.clients.bloomberg_client - INFO - ✅ Saved 7 records to database.
2026-01-12 18:50:17,449 - app.clients.bloomberg_client - INFO - Fetching Currency Data...
2026-01-12 18:50:17,450 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=80, Msg=正在获取货币指标 (CNY)..., Progress=41%
2026-01-12 18:50:18,858 - app.clients.bloomberg_client - INFO - REMOTE RAW OUTPUT: JSON_START
[{"Company_code": "000725 CH Equity", "update_date": "2026-01-12 18:50:18", "currency": "CNY", "indicator": "Revenue", "value": "68895.659", "value_date": "2016-12-31"}, {"Company_code": "000725 CH Equity", "update_date": "2026-01-12 18:50:18", "currency": "CNY", "indicator": "Net_Income", "value": "1882.5717", "value_date": "2016-12-31"}, {"Company_code": "000725 CH Equity", "update_date": "2026-01-12 18:50:18", "currency": "CNY", "indicator": "Cash_From_Operating", "value": "8308.9467", "value_date": "2016-12-31"}, {"Company_code": "000725 CH Equity", "update_date": "2026-01-12 18:50:18", "currency": "CNY", "indicator": "Capital_Expenditure", "value": "-30702.6147", "value_date": "2016-12-31"}, {"Company_code": "000725 CH Equity", "update_date": "2026-01-12 18:50:18", "currency": "CNY", "indicator": "Free_Cash_Flow", "value": "-22393.668", "value_date": "2016-12-31"}, {"Company_code": "000725 CH Equity", "update_date": "2026-01-12 18:50:18", "currency": "CNY", "indicator":
2026-01-12 18:50:18,864 - app.clients.bloomberg_client - INFO - ✅ Parsed 225 items from remote.
2026-01-12 18:50:41,919 - app.clients.bloomberg_client - INFO - ✅ Saved 225 records to database.
2026-01-12 18:50:41,920 - app.clients.bloomberg_client - INFO - Fetching Non-Currency Data...
2026-01-12 18:50:41,920 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=80, Msg=正在获取非货币指标..., Progress=55%
2026-01-12 18:50:43,550 - app.clients.bloomberg_client - INFO - REMOTE RAW OUTPUT: JSON_START
[{"Company_code": "000725 CH Equity", "update_date": "2026-01-12 18:50:43", "currency": "CNY", "indicator": "ROE", "value": "2.4107", "value_date": "2016-12-31"}, {"Company_code": "000725 CH Equity", "update_date": "2026-01-12 18:50:43", "currency": "CNY", "indicator": "ROA", "value": "1.0525", "value_date": "2016-12-31"}, {"Company_code": "000725 CH Equity", "update_date": "2026-01-12 18:50:43", "currency": "CNY", "indicator": "ROCE", "value": "2.905", "value_date": "2016-12-31"}, {"Company_code": "000725 CH Equity", "update_date": "2026-01-12 18:50:43", "currency": "CNY", "indicator": "Gross_Margin", "value": "17.8675", "value_date": "2016-12-31"}, {"Company_code": "000725 CH Equity", "update_date": "2026-01-12 18:50:43", "currency": "CNY", "indicator": "EBITDA_margin", "value": "18.8079", "value_date": "2016-12-31"}, {"Company_code": "000725 CH Equity", "update_date": "2026-01-12 18:50:43", "currency": "CNY", "indicator": "Net_Profit_Margin", "value": "2.7325", "value_dat
2026-01-12 18:50:43,551 - app.clients.bloomberg_client - INFO - ✅ Parsed 175 items from remote.
2026-01-12 18:51:00,614 - app.clients.bloomberg_client - INFO - ✅ Saved 175 records to database.
2026-01-12 18:51:00,616 - app.clients.bloomberg_client - INFO - Fetching Price Data (Aligned)...
2026-01-12 18:51:00,616 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=80, Msg=正在获取价格指标..., Progress=69%
2026-01-12 18:51:01,579 - app.clients.bloomberg_client - INFO - Found 9 revenue reporting dates. Fetching aligned price data...
2026-01-12 18:51:12,149 - app.clients.bloomberg_client - INFO - REMOTE RAW OUTPUT: JSON_START
[{"Company_code": "000725 CH Equity", "update_date": "2026-01-12 18:51:01", "currency": "CNY", "indicator": "Last_Price", "value": "4.39", "value_date": "2024-12-31"}, {"Company_code": "000725 CH Equity", "update_date": "2026-01-12 18:51:01", "currency": "CNY", "indicator": "Market_Cap", "value": "163990.883", "value_date": "2024-12-31"}, {"Company_code": "000725 CH Equity", "update_date": "2026-01-12 18:51:01", "currency": "CNY", "indicator": "Dividend_Yield", "value": "0.6834", "value_date": "2024-12-31"}, {"Company_code": "000725 CH Equity", "update_date": "2026-01-12 18:51:01", "currency": "CNY", "indicator": "Last_Price", "value": "3.9", "value_date": "2023-12-31"}, {"Company_code": "000725 CH Equity", "update_date": "2026-01-12 18:51:01", "currency": "CNY", "indicator": "Market_Cap", "value": "145742.6957", "value_date": "2023-12-31"}, {"Company_code": "000725 CH Equity", "update_date": "2026-01-12 18:51:01", "currency": "CNY", "indicator": "Dividend_Yield", "value": "
2026-01-12 18:51:12,150 - app.clients.bloomberg_client - INFO - ✅ Parsed 27 items from remote.
2026-01-12 18:51:20,135 - app.clients.bloomberg_client - INFO - ✅ Saved 27 records to database.
2026-01-12 18:51:20,137 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=80, Msg=Finalizing data..., Progress=82%
2026-01-12 18:51:21,801 - app.clients.bloomberg_client - INFO - ✅ Cleanup and View Refresh completed.
2026-01-12 18:51:21,802 - app.clients.bloomberg_client - INFO - ✅ Completed processing for 000725 CH Equity
2026-01-12 18:51:21,803 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=80, Msg=Bloomberg data sync complete, Progress=90%
2026-01-12 18:51:24,153 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=80, Msg=Bloomberg 数据同步完成, Progress=100%
2026-01-12 19:07:13,245 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=81, Msg=正在初始化数据获取..., Progress=0%
2026-01-12 19:07:15,033 - app.clients.bloomberg_client - INFO - Connecting to Jupyter at http://192.168.3.161:8888...
2026-01-12 19:07:16,023 - app.clients.bloomberg_client - INFO - ✅ Authentication successful.
2026-01-12 19:07:16,065 - app.clients.bloomberg_client - INFO - ✅ Found existing kernel: bc27f3b1-b028-434a-99fa-c1cad4495a87 (remote_env)
2026-01-12 19:07:16,139 - app.clients.bloomberg_client - INFO - ✅ WebSocket connected.
2026-01-12 19:07:16,140 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=81, Msg=数据源连接成功, Progress=10%
2026-01-12 19:07:17,324 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=81, Msg=正在连接 Bloomberg 终端..., Progress=20%
2026-01-12 19:07:18,445 - app.clients.bloomberg_client - INFO - 🚀 Starting fetch for: 00631 HK Equity
2026-01-12 19:07:18,447 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=81, Msg=Starting Bloomberg session..., Progress=20%
2026-01-12 19:07:19,414 - app.clients.bloomberg_client - INFO - Using auto-detected currency: HKD
2026-01-12 19:07:19,414 - app.clients.bloomberg_client - INFO - Fetching Basic Data...
2026-01-12 19:07:19,415 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=81, Msg=Fetching Company Basic Info..., Progress=27%
2026-01-12 19:07:22,487 - app.clients.bloomberg_client - INFO - REMOTE RAW OUTPUT: JSON_START
[{"Company_code": "00631 HK Equity", "update_date": "2026-01-12 19:07:23", "currency": "HKD", "indicator": "company_name", "value": "SANY HEAVY EQUIPMENT INTL", "value_date": "2026-01-12 19:07:23"}, {"Company_code": "00631 HK Equity", "update_date": "2026-01-12 19:07:23", "currency": "HKD", "indicator": "pe_ratio", "value": "19.933741441016245", "value_date": "2026-01-12 19:07:23"}, {"Company_code": "00631 HK Equity", "update_date": "2026-01-12 19:07:23", "currency": "HKD", "indicator": "pb_ratio", "value": "2.110479881831945", "value_date": "2026-01-12 19:07:23"}, {"Company_code": "00631 HK Equity", "update_date": "2026-01-12 19:07:23", "currency": "HKD", "indicator": "Rev_Abroad", "value": "37.287945521334656", "value_date": "2026-01-12 19:07:23"}, {"Company_code": "00631 HK Equity", "update_date": "2026-01-12 19:07:23", "currency": "HKD", "indicator": "dividend_yield", "value": "3.162486277593781", "value_date": "2026-01-12 19:07:23"}, {"Company_code": "00631 HK Equity",
2026-01-12 19:07:22,488 - app.clients.bloomberg_client - INFO - ✅ Parsed 7 items from remote.
2026-01-12 19:07:22,488 - app.clients.bloomberg_client - INFO - DEBUG: basic_data before save: [{'Company_code': '00631 HK Equity', 'update_date': '2026-01-12 19:07:23', 'currency': 'HKD', 'indicator': 'company_name', 'value': 'SANY HEAVY EQUIPMENT INTL', 'value_date': '2026-01-12 19:07:23'}, {'Company_code': '00631 HK Equity', 'update_date': '2026-01-12 19:07:23', 'currency': 'HKD', 'indicator': 'pe_ratio', 'value': '19.933741441016245', 'value_date': '2026-01-12 19:07:23'}, {'Company_code': '00631 HK Equity', 'update_date': '2026-01-12 19:07:23', 'currency': 'HKD', 'indicator': 'pb_ratio', 'value': '2.110479881831945', 'value_date': '2026-01-12 19:07:23'}, {'Company_code': '00631 HK Equity', 'update_date': '2026-01-12 19:07:23', 'currency': 'HKD', 'indicator': 'Rev_Abroad', 'value': '37.287945521334656', 'value_date': '2026-01-12 19:07:23'}, {'Company_code': '00631 HK Equity', 'update_date': '2026-01-12 19:07:23', 'currency': 'HKD', 'indicator': 'dividend_yield', 'value': '3.162486277593781', 'value_date': '2026-01-12 19:07:23'}, {'Company_code': '00631 HK Equity', 'update_date': '2026-01-12 19:07:23', 'currency': 'HKD', 'indicator': 'IPO_date', 'value': '2009-11-25', 'value_date': '2026-01-12 19:07:23'}, {'Company_code': '00631 HK Equity', 'update_date': '2026-01-12 19:07:23', 'currency': 'HKD', 'indicator': 'market_cap', 'value': '29641.2727', 'value_date': '2026-01-12 19:07:23'}]
2026-01-12 19:07:23,816 - app.clients.bloomberg_client - INFO - ✅ Saved 7 records to database.
2026-01-12 19:07:23,818 - app.clients.bloomberg_client - INFO - Fetching Currency Data...
2026-01-12 19:07:23,818 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=81, Msg=正在获取货币指标 (HKD)..., Progress=41%
2026-01-12 19:07:26,292 - app.clients.bloomberg_client - INFO - REMOTE RAW OUTPUT: JSON_START
[{"Company_code": "00631 HK Equity", "update_date": "2026-01-12 19:07:24", "currency": "HKD", "indicator": "Revenue", "value": "2152.9812", "value_date": "2016-12-31"}, {"Company_code": "00631 HK Equity", "update_date": "2026-01-12 19:07:24", "currency": "HKD", "indicator": "Net_Income", "value": "-753.2314", "value_date": "2016-12-31"}, {"Company_code": "00631 HK Equity", "update_date": "2026-01-12 19:07:24", "currency": "HKD", "indicator": "Cash_From_Operating", "value": "1557.419", "value_date": "2016-12-31"}, {"Company_code": "00631 HK Equity", "update_date": "2026-01-12 19:07:24", "currency": "HKD", "indicator": "Capital_Expenditure", "value": "-179.3705", "value_date": "2016-12-31"}, {"Company_code": "00631 HK Equity", "update_date": "2026-01-12 19:07:24", "currency": "HKD", "indicator": "Free_Cash_Flow", "value": "1378.0485", "value_date": "2016-12-31"}, {"Company_code": "00631 HK Equity", "update_date": "2026-01-12 19:07:24", "currency": "HKD", "indicator": "Dividend
2026-01-12 19:07:26,293 - app.clients.bloomberg_client - INFO - ✅ Parsed 213 items from remote.
2026-01-12 19:07:47,000 - app.clients.bloomberg_client - INFO - ✅ Saved 213 records to database.
2026-01-12 19:07:47,006 - app.clients.bloomberg_client - INFO - Fetching Non-Currency Data...
2026-01-12 19:07:47,006 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=81, Msg=正在获取非货币指标..., Progress=55%
2026-01-12 19:07:48,166 - app.clients.bloomberg_client - INFO - REMOTE RAW OUTPUT: JSON_START
[{"Company_code": "00631 HK Equity", "update_date": "2026-01-12 19:07:47", "currency": "HKD", "indicator": "ROE", "value": "-10.132", "value_date": "2016-12-31"}, {"Company_code": "00631 HK Equity", "update_date": "2026-01-12 19:07:47", "currency": "HKD", "indicator": "ROA", "value": "-6.0025", "value_date": "2016-12-31"}, {"Company_code": "00631 HK Equity", "update_date": "2026-01-12 19:07:47", "currency": "HKD", "indicator": "Gross_Margin", "value": "14.994", "value_date": "2016-12-31"}, {"Company_code": "00631 HK Equity", "update_date": "2026-01-12 19:07:47", "currency": "HKD", "indicator": "EBITDA_margin", "value": "-28.2708", "value_date": "2016-12-31"}, {"Company_code": "00631 HK Equity", "update_date": "2026-01-12 19:07:47", "currency": "HKD", "indicator": "Net_Profit_Margin", "value": "-34.9855", "value_date": "2016-12-31"}, {"Company_code": "00631 HK Equity", "update_date": "2026-01-12 19:07:47", "currency": "HKD", "indicator": "Tax_Rate", "value": "0.25", "value_da
2026-01-12 19:07:48,168 - app.clients.bloomberg_client - INFO - ✅ Parsed 150 items from remote.
2026-01-12 19:08:07,614 - app.clients.bloomberg_client - INFO - ✅ Saved 150 records to database.
2026-01-12 19:08:07,618 - app.clients.bloomberg_client - INFO - Fetching Price Data (Aligned)...
2026-01-12 19:08:07,619 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=81, Msg=正在获取价格指标..., Progress=69%
2026-01-12 19:08:08,123 - app.clients.bloomberg_client - INFO - Found 9 revenue reporting dates. Fetching aligned price data...
2026-01-12 19:08:18,378 - app.clients.bloomberg_client - INFO - REMOTE RAW OUTPUT: JSON_START
[{"Company_code": "00631 HK Equity", "update_date": "2026-01-12 19:08:08", "currency": "HKD", "indicator": "Last_Price", "value": "4.51", "value_date": "2024-12-31"}, {"Company_code": "00631 HK Equity", "update_date": "2026-01-12 19:08:08", "currency": "HKD", "indicator": "Market_Cap", "value": "14494.6462", "value_date": "2024-12-31"}, {"Company_code": "00631 HK Equity", "update_date": "2026-01-12 19:08:08", "currency": "HKD", "indicator": "Dividend_Yield", "value": "4.2129", "value_date": "2024-12-31"}, {"Company_code": "00631 HK Equity", "update_date": "2026-01-12 19:08:08", "currency": "HKD", "indicator": "Last_Price", "value": "7.55", "value_date": "2023-12-31"}, {"Company_code": "00631 HK Equity", "update_date": "2026-01-12 19:08:08", "currency": "HKD", "indicator": "Market_Cap", "value": "24081.9354", "value_date": "2023-12-31"}, {"Company_code": "00631 HK Equity", "update_date": "2026-01-12 19:08:08", "currency": "HKD", "indicator": "Dividend_Yield", "value": "2.5166
2026-01-12 19:08:18,379 - app.clients.bloomberg_client - INFO - ✅ Parsed 25 items from remote.
2026-01-12 19:08:23,531 - app.clients.bloomberg_client - INFO - ✅ Saved 25 records to database.
2026-01-12 19:08:23,532 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=81, Msg=Finalizing data..., Progress=82%
2026-01-12 19:08:25,393 - app.clients.bloomberg_client - INFO - ✅ Cleanup and View Refresh completed.
2026-01-12 19:08:25,394 - app.clients.bloomberg_client - INFO - ✅ Completed processing for 00631 HK Equity
2026-01-12 19:08:25,394 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=81, Msg=Bloomberg data sync complete, Progress=90%
2026-01-12 19:08:26,834 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=81, Msg=Bloomberg 数据同步完成, Progress=100%
2026-01-12 20:35:50,685 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=82, Msg=正在初始化数据获取..., Progress=0%
2026-01-12 20:35:53,030 - app.clients.bloomberg_client - INFO - Connecting to Jupyter at http://192.168.3.161:8888...
2026-01-12 20:35:53,308 - app.clients.bloomberg_client - INFO - ✅ Authentication successful.
2026-01-12 20:35:53,350 - app.clients.bloomberg_client - INFO - ✅ Found existing kernel: bc27f3b1-b028-434a-99fa-c1cad4495a87 (remote_env)
2026-01-12 20:35:53,415 - app.clients.bloomberg_client - INFO - ✅ WebSocket connected.
2026-01-12 20:35:53,415 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=82, Msg=数据源连接成功, Progress=10%
2026-01-12 20:35:55,408 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=82, Msg=正在连接 Bloomberg 终端..., Progress=20%
2026-01-12 20:35:55,854 - app.clients.bloomberg_client - INFO - 🚀 Starting fetch for: SAB VN Equity
2026-01-12 20:35:55,854 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=82, Msg=Starting Bloomberg session..., Progress=20%
2026-01-12 20:35:56,946 - app.clients.bloomberg_client - INFO - Using forced currency: CNY
2026-01-12 20:35:56,947 - app.clients.bloomberg_client - INFO - Fetching Basic Data...
2026-01-12 20:35:56,947 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=82, Msg=Fetching Company Basic Info..., Progress=27%
2026-01-12 20:35:58,618 - app.clients.bloomberg_client - INFO - REMOTE RAW OUTPUT: JSON_START
[{"Company_code": "SAB VN Equity", "update_date": "2026-01-12 20:35:59", "currency": "CNY", "indicator": "company_name", "value": "SAIGON BEER ALCOHOL BEVERAGE", "value_date": "2026-01-12 20:35:59"}, {"Company_code": "SAB VN Equity", "update_date": "2026-01-12 20:35:59", "currency": "CNY", "indicator": "pe_ratio", "value": "14.256432059589235", "value_date": "2026-01-12 20:35:59"}, {"Company_code": "SAB VN Equity", "update_date": "2026-01-12 20:35:59", "currency": "CNY", "indicator": "pb_ratio", "value": "2.6564776404306514", "value_date": "2026-01-12 20:35:59"}, {"Company_code": "SAB VN Equity", "update_date": "2026-01-12 20:35:59", "currency": "CNY", "indicator": "Rev_Abroad", "value": "0.0", "value_date": "2026-01-12 20:35:59"}, {"Company_code": "SAB VN Equity", "update_date": "2026-01-12 20:35:59", "currency": "CNY", "indicator": "dividend_yield", "value": "10.638297872340425", "value_date": "2026-01-12 20:35:59"}, {"Company_code": "SAB VN Equity", "update_date": "2026-0
2026-01-12 20:35:58,619 - app.clients.bloomberg_client - INFO - ✅ Parsed 7 items from remote.
2026-01-12 20:35:58,619 - app.clients.bloomberg_client - INFO - DEBUG: basic_data before save: [{'Company_code': 'SAB VN Equity', 'update_date': '2026-01-12 20:35:59', 'currency': 'CNY', 'indicator': 'company_name', 'value': 'SAIGON BEER ALCOHOL BEVERAGE', 'value_date': '2026-01-12 20:35:59'}, {'Company_code': 'SAB VN Equity', 'update_date': '2026-01-12 20:35:59', 'currency': 'CNY', 'indicator': 'pe_ratio', 'value': '14.256432059589235', 'value_date': '2026-01-12 20:35:59'}, {'Company_code': 'SAB VN Equity', 'update_date': '2026-01-12 20:35:59', 'currency': 'CNY', 'indicator': 'pb_ratio', 'value': '2.6564776404306514', 'value_date': '2026-01-12 20:35:59'}, {'Company_code': 'SAB VN Equity', 'update_date': '2026-01-12 20:35:59', 'currency': 'CNY', 'indicator': 'Rev_Abroad', 'value': '0.0', 'value_date': '2026-01-12 20:35:59'}, {'Company_code': 'SAB VN Equity', 'update_date': '2026-01-12 20:35:59', 'currency': 'CNY', 'indicator': 'dividend_yield', 'value': '10.638297872340425', 'value_date': '2026-01-12 20:35:59'}, {'Company_code': 'SAB VN Equity', 'update_date': '2026-01-12 20:35:59', 'currency': 'CNY', 'indicator': 'IPO_date', 'value': '2008-01-28', 'value_date': '2026-01-12 20:35:59'}, {'Company_code': 'SAB VN Equity', 'update_date': '2026-01-12 20:35:59', 'currency': 'CNY', 'indicator': 'market_cap', 'value': '16002.6454', 'value_date': '2026-01-12 20:35:59'}]
2026-01-12 20:36:02,334 - app.clients.bloomberg_client - INFO - ✅ Saved 7 records to database.
2026-01-12 20:36:02,336 - app.clients.bloomberg_client - INFO - Fetching Currency Data...
2026-01-12 20:36:02,336 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=82, Msg=正在获取货币指标 (CNY)..., Progress=41%
2026-01-12 20:36:07,524 - app.clients.bloomberg_client - INFO - REMOTE RAW OUTPUT: JSON_START
[{"Company_code": "SAB VN Equity", "update_date": "2026-01-12 20:36:03", "currency": "CNY", "indicator": "Revenue", "value": "9048.6698", "value_date": "2016-12-31"}, {"Company_code": "SAB VN Equity", "update_date": "2026-01-12 20:36:03", "currency": "CNY", "indicator": "Net_Income", "value": "1178.9778", "value_date": "2016-12-31"}, {"Company_code": "SAB VN Equity", "update_date": "2026-01-12 20:36:03", "currency": "CNY", "indicator": "Cash_From_Operating", "value": "446.3911", "value_date": "2016-12-31"}, {"Company_code": "SAB VN Equity", "update_date": "2026-01-12 20:36:03", "currency": "CNY", "indicator": "Capital_Expenditure", "value": "-46.4354", "value_date": "2016-12-31"}, {"Company_code": "SAB VN Equity", "update_date": "2026-01-12 20:36:03", "currency": "CNY", "indicator": "Free_Cash_Flow", "value": "399.9557", "value_date": "2016-12-31"}, {"Company_code": "SAB VN Equity", "update_date": "2026-01-12 20:36:03", "currency": "CNY", "indicator": "Dividends_Paid", "valu
2026-01-12 20:36:07,524 - app.clients.bloomberg_client - INFO - ✅ Parsed 225 items from remote.
2026-01-12 20:36:28,461 - app.clients.bloomberg_client - INFO - ✅ Saved 225 records to database.
2026-01-12 20:36:28,463 - app.clients.bloomberg_client - INFO - Fetching Non-Currency Data...
2026-01-12 20:36:28,463 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=82, Msg=正在获取非货币指标..., Progress=55%
2026-01-12 20:36:30,451 - app.clients.bloomberg_client - INFO - REMOTE RAW OUTPUT: JSON_START
[{"Company_code": "SAB VN Equity", "update_date": "2026-01-12 20:36:29", "currency": "CNY", "indicator": "ROE", "value": "35.535", "value_date": "2016-12-31"}, {"Company_code": "SAB VN Equity", "update_date": "2026-01-12 20:36:29", "currency": "CNY", "indicator": "ROA", "value": "21.0594", "value_date": "2016-12-31"}, {"Company_code": "SAB VN Equity", "update_date": "2026-01-12 20:36:29", "currency": "CNY", "indicator": "ROCE", "value": "49.2784", "value_date": "2016-12-31"}, {"Company_code": "SAB VN Equity", "update_date": "2026-01-12 20:36:29", "currency": "CNY", "indicator": "Gross_Margin", "value": "26.8065", "value_date": "2016-12-31"}, {"Company_code": "SAB VN Equity", "update_date": "2026-01-12 20:36:29", "currency": "CNY", "indicator": "EBITDA_margin", "value": "17.5493", "value_date": "2016-12-31"}, {"Company_code": "SAB VN Equity", "update_date": "2026-01-12 20:36:29", "currency": "CNY", "indicator": "Net_Profit_Margin", "value": "14.241", "value_date": "2016-12-31
2026-01-12 20:36:30,453 - app.clients.bloomberg_client - INFO - ✅ Parsed 171 items from remote.
2026-01-12 20:36:45,144 - app.clients.bloomberg_client - INFO - ✅ Saved 171 records to database.
2026-01-12 20:36:45,146 - app.clients.bloomberg_client - INFO - Fetching Price Data (Aligned)...
2026-01-12 20:36:45,146 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=82, Msg=正在获取价格指标..., Progress=69%
2026-01-12 20:36:46,560 - app.clients.bloomberg_client - INFO - Found 9 revenue reporting dates. Fetching aligned price data...
2026-01-12 20:36:59,803 - app.clients.bloomberg_client - INFO - REMOTE RAW OUTPUT: JSON_START
[{"Company_code": "SAB VN Equity", "update_date": "2026-01-12 20:36:46", "currency": "CNY", "indicator": "Last_Price", "value": "15.89628", "value_date": "2024-12-31"}, {"Company_code": "SAB VN Equity", "update_date": "2026-01-12 20:36:46", "currency": "CNY", "indicator": "Market_Cap", "value": "20387.9708", "value_date": "2024-12-31"}, {"Company_code": "SAB VN Equity", "update_date": "2026-01-12 20:36:46", "currency": "CNY", "indicator": "Dividend_Yield", "value": "9.9099", "value_date": "2024-12-31"}, {"Company_code": "SAB VN Equity", "update_date": "2026-01-12 20:36:46", "currency": "CNY", "indicator": "Last_Price", "value": "18.43404", "value_date": "2023-12-31"}, {"Company_code": "SAB VN Equity", "update_date": "2026-01-12 20:36:46", "currency": "CNY", "indicator": "Market_Cap", "value": "23642.7999", "value_date": "2023-12-31"}, {"Company_code": "SAB VN Equity", "update_date": "2026-01-12 20:36:46", "currency": "CNY", "indicator": "Dividend_Yield", "value": "1.9841", "
2026-01-12 20:36:59,803 - app.clients.bloomberg_client - INFO - ✅ Parsed 27 items from remote.
2026-01-12 20:37:03,093 - app.clients.bloomberg_client - INFO - ✅ Saved 27 records to database.
2026-01-12 20:37:03,094 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=82, Msg=Finalizing data..., Progress=82%
2026-01-12 20:37:04,674 - app.clients.bloomberg_client - INFO - ✅ Cleanup and View Refresh completed.
2026-01-12 20:37:04,675 - app.clients.bloomberg_client - INFO - ✅ Completed processing for SAB VN Equity
2026-01-12 20:37:04,675 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=82, Msg=Bloomberg data sync complete, Progress=90%
2026-01-12 20:37:05,750 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=82, Msg=Bloomberg 数据同步完成, Progress=100%
2026-01-12 20:38:40,646 - app.main - INFO - 🔍 [搜索] 开始搜索股票: 青岛啤酒
2026-01-12 20:38:40,897 - app.main - INFO - 🤖 [搜索-LLM] 调用 gemini-2.5-flash 进行股票搜索
2026-01-12 20:38:40,906 - google_genai.models - INFO - AFC is enabled with max remote calls: 10.
2026-01-12 20:38:47,130 - httpx - INFO - HTTP Request: POST https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash:generateContent "HTTP/1.1 200 OK"
2026-01-12 20:38:47,151 - app.main - INFO - ✅ [搜索-LLM] 模型响应完成, 耗时: 6.25秒, Tokens: prompt=166, completion=133, total=299
2026-01-12 20:38:47,152 - app.main - INFO - ✅ [搜索] 搜索完成, 找到 2 个结果, 总耗时: 6.51秒
2026-01-12 20:38:53,790 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=83, Msg=正在初始化数据获取..., Progress=0%
2026-01-12 20:38:54,547 - app.clients.bloomberg_client - INFO - Connecting to Jupyter at http://192.168.3.161:8888...
2026-01-12 20:38:55,207 - app.clients.bloomberg_client - INFO - ✅ Authentication successful.
2026-01-12 20:38:55,237 - app.clients.bloomberg_client - INFO - ✅ Found existing kernel: bc27f3b1-b028-434a-99fa-c1cad4495a87 (remote_env)
2026-01-12 20:38:55,307 - app.clients.bloomberg_client - INFO - ✅ WebSocket connected.
2026-01-12 20:38:55,307 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=83, Msg=数据源连接成功, Progress=10%
2026-01-12 20:38:56,092 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=83, Msg=正在连接 Bloomberg 终端..., Progress=20%
2026-01-12 20:38:57,039 - app.clients.bloomberg_client - INFO - 🚀 Starting fetch for: 600600 CH Equity
2026-01-12 20:38:57,039 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=83, Msg=Starting Bloomberg session..., Progress=20%
2026-01-12 20:38:58,457 - app.clients.bloomberg_client - INFO - Using forced currency: CNY
2026-01-12 20:38:58,457 - app.clients.bloomberg_client - INFO - Fetching Basic Data...
2026-01-12 20:38:58,457 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=83, Msg=Fetching Company Basic Info..., Progress=27%
2026-01-12 20:39:00,295 - app.clients.bloomberg_client - INFO - REMOTE RAW OUTPUT: JSON_START
[{"Company_code": "600600 CH Equity", "update_date": "2026-01-12 20:39:01", "currency": "CNY", "indicator": "company_name", "value": "TSINGTAO BREWERY CO LTD-A", "value_date": "2026-01-12 20:39:01"}, {"Company_code": "600600 CH Equity", "update_date": "2026-01-12 20:39:01", "currency": "CNY", "indicator": "pe_ratio", "value": "18.590088160034433", "value_date": "2026-01-12 20:39:01"}, {"Company_code": "600600 CH Equity", "update_date": "2026-01-12 20:39:01", "currency": "CNY", "indicator": "pb_ratio", "value": "2.746838902322582", "value_date": "2026-01-12 20:39:01"}, {"Company_code": "600600 CH Equity", "update_date": "2026-01-12 20:39:01", "currency": "CNY", "indicator": "dividend_yield", "value": "3.487082022006206", "value_date": "2026-01-12 20:39:01"}, {"Company_code": "600600 CH Equity", "update_date": "2026-01-12 20:39:01", "currency": "CNY", "indicator": "market_cap", "value": "74326.0163", "value_date": "2026-01-12 20:39:01"}]
JSON_END
2026-01-12 20:39:00,296 - app.clients.bloomberg_client - INFO - ✅ Parsed 5 items from remote.
2026-01-12 20:39:00,296 - app.clients.bloomberg_client - INFO - DEBUG: basic_data before save: [{'Company_code': '600600 CH Equity', 'update_date': '2026-01-12 20:39:01', 'currency': 'CNY', 'indicator': 'company_name', 'value': 'TSINGTAO BREWERY CO LTD-A', 'value_date': '2026-01-12 20:39:01'}, {'Company_code': '600600 CH Equity', 'update_date': '2026-01-12 20:39:01', 'currency': 'CNY', 'indicator': 'pe_ratio', 'value': '18.590088160034433', 'value_date': '2026-01-12 20:39:01'}, {'Company_code': '600600 CH Equity', 'update_date': '2026-01-12 20:39:01', 'currency': 'CNY', 'indicator': 'pb_ratio', 'value': '2.746838902322582', 'value_date': '2026-01-12 20:39:01'}, {'Company_code': '600600 CH Equity', 'update_date': '2026-01-12 20:39:01', 'currency': 'CNY', 'indicator': 'dividend_yield', 'value': '3.487082022006206', 'value_date': '2026-01-12 20:39:01'}, {'Company_code': '600600 CH Equity', 'update_date': '2026-01-12 20:39:01', 'currency': 'CNY', 'indicator': 'market_cap', 'value': '74326.0163', 'value_date': '2026-01-12 20:39:01'}]
2026-01-12 20:39:00,799 - app.clients.bloomberg_client - INFO - ✅ Saved 5 records to database.
2026-01-12 20:39:00,799 - app.clients.bloomberg_client - INFO - Fetching Currency Data...
2026-01-12 20:39:00,800 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=83, Msg=正在获取货币指标 (CNY)..., Progress=41%
2026-01-12 20:39:02,150 - app.clients.bloomberg_client - INFO - REMOTE RAW OUTPUT: JSON_START
[{"Company_code": "600600 CH Equity", "update_date": "2026-01-12 20:39:01", "currency": "CNY", "indicator": "Revenue", "value": "26106.3437", "value_date": "2016-12-31"}, {"Company_code": "600600 CH Equity", "update_date": "2026-01-12 20:39:01", "currency": "CNY", "indicator": "Net_Income", "value": "1043.4864", "value_date": "2016-12-31"}, {"Company_code": "600600 CH Equity", "update_date": "2026-01-12 20:39:01", "currency": "CNY", "indicator": "Cash_From_Operating", "value": "3002.1384", "value_date": "2016-12-31"}, {"Company_code": "600600 CH Equity", "update_date": "2026-01-12 20:39:01", "currency": "CNY", "indicator": "Capital_Expenditure", "value": "-855.8721", "value_date": "2016-12-31"}, {"Company_code": "600600 CH Equity", "update_date": "2026-01-12 20:39:01", "currency": "CNY", "indicator": "Free_Cash_Flow", "value": "2146.2663", "value_date": "2016-12-31"}, {"Company_code": "600600 CH Equity", "update_date": "2026-01-12 20:39:01", "currency": "CNY", "indicator": "
2026-01-12 20:39:02,150 - app.clients.bloomberg_client - INFO - ✅ Parsed 225 items from remote.
2026-01-12 20:39:23,000 - app.clients.bloomberg_client - INFO - ✅ Saved 225 records to database.
2026-01-12 20:39:23,005 - app.clients.bloomberg_client - INFO - Fetching Non-Currency Data...
2026-01-12 20:39:23,005 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=83, Msg=正在获取非货币指标..., Progress=55%
2026-01-12 20:39:24,357 - app.clients.bloomberg_client - INFO - REMOTE RAW OUTPUT: JSON_START
[{"Company_code": "600600 CH Equity", "update_date": "2026-01-12 20:39:23", "currency": "CNY", "indicator": "ROE", "value": "6.3682", "value_date": "2016-12-31"}, {"Company_code": "600600 CH Equity", "update_date": "2026-01-12 20:39:23", "currency": "CNY", "indicator": "ROA", "value": "3.5627", "value_date": "2016-12-31"}, {"Company_code": "600600 CH Equity", "update_date": "2026-01-12 20:39:23", "currency": "CNY", "indicator": "ROCE", "value": "7.3766", "value_date": "2016-12-31"}, {"Company_code": "600600 CH Equity", "update_date": "2026-01-12 20:39:23", "currency": "CNY", "indicator": "Gross_Margin", "value": "41.5266", "value_date": "2016-12-31"}, {"Company_code": "600600 CH Equity", "update_date": "2026-01-12 20:39:23", "currency": "CNY", "indicator": "EBITDA_margin", "value": "8.1977", "value_date": "2016-12-31"}, {"Company_code": "600600 CH Equity", "update_date": "2026-01-12 20:39:23", "currency": "CNY", "indicator": "Net_Profit_Margin", "value": "3.9971", "value_dat
2026-01-12 20:39:24,358 - app.clients.bloomberg_client - INFO - ✅ Parsed 180 items from remote.
2026-01-12 20:39:38,190 - app.clients.bloomberg_client - INFO - ✅ Saved 180 records to database.
2026-01-12 20:39:38,191 - app.clients.bloomberg_client - INFO - Fetching Price Data (Aligned)...
2026-01-12 20:39:38,192 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=83, Msg=正在获取价格指标..., Progress=69%
2026-01-12 20:39:38,974 - app.clients.bloomberg_client - INFO - Found 9 revenue reporting dates. Fetching aligned price data...
2026-01-12 20:39:49,468 - app.clients.bloomberg_client - INFO - REMOTE RAW OUTPUT: JSON_START
[{"Company_code": "600600 CH Equity", "update_date": "2026-01-12 20:39:38", "currency": "CNY", "indicator": "Last_Price", "value": "80.92", "value_date": "2024-12-31"}, {"Company_code": "600600 CH Equity", "update_date": "2026-01-12 20:39:38", "currency": "CNY", "indicator": "Market_Cap", "value": "92347.3395", "value_date": "2024-12-31"}, {"Company_code": "600600 CH Equity", "update_date": "2026-01-12 20:39:38", "currency": "CNY", "indicator": "Dividend_Yield", "value": "2.4716", "value_date": "2024-12-31"}, {"Company_code": "600600 CH Equity", "update_date": "2026-01-12 20:39:38", "currency": "CNY", "indicator": "Last_Price", "value": "74.75", "value_date": "2023-12-31"}, {"Company_code": "600600 CH Equity", "update_date": "2026-01-12 20:39:38", "currency": "CNY", "indicator": "Market_Cap", "value": "84217.9701", "value_date": "2023-12-31"}, {"Company_code": "600600 CH Equity", "update_date": "2026-01-12 20:39:38", "currency": "CNY", "indicator": "Dividend_Yield", "value":
2026-01-12 20:39:49,469 - app.clients.bloomberg_client - INFO - ✅ Parsed 27 items from remote.
2026-01-12 20:39:52,545 - app.clients.bloomberg_client - INFO - ✅ Saved 27 records to database.
2026-01-12 20:39:52,545 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=83, Msg=Finalizing data..., Progress=82%
2026-01-12 20:39:54,959 - app.clients.bloomberg_client - INFO - ✅ Cleanup and View Refresh completed.
2026-01-12 20:39:54,960 - app.clients.bloomberg_client - INFO - ✅ Completed processing for 600600 CH Equity
2026-01-12 20:39:54,960 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=83, Msg=Bloomberg data sync complete, Progress=90%
2026-01-12 20:39:56,366 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=83, Msg=Bloomberg 数据同步完成, Progress=100%
2026-01-12 21:08:47,060 - google_genai.models - INFO - AFC is enabled with max remote calls: 10.
2026-01-12 21:08:48,909 - httpx - INFO - HTTP Request: POST https://generativelanguage.googleapis.com/v1beta/models/gemini-2.0-flash:generateContent "HTTP/1.1 200 OK"
2026-01-12 21:20:11,057 - google_genai.models - INFO - AFC is enabled with max remote calls: 10.
2026-01-12 21:20:22,679 - httpx - INFO - HTTP Request: POST https://generativelanguage.googleapis.com/v1beta/models/gemini-3-flash-preview:generateContent "HTTP/1.1 200 OK"
2026-01-12 21:25:52,842 - google_genai.models - INFO - AFC is enabled with max remote calls: 10.
2026-01-12 21:26:04,452 - httpx - INFO - HTTP Request: POST https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash:generateContent "HTTP/1.1 200 OK"
2026-01-12 21:26:40,755 - google_genai.models - INFO - AFC is enabled with max remote calls: 10.
2026-01-12 21:27:00,349 - httpx - INFO - HTTP Request: POST https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash:generateContent "HTTP/1.1 200 OK"
2026-01-12 22:18:53,449 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=84, Msg=正在初始化数据获取..., Progress=0%
2026-01-12 22:18:54,487 - app.clients.bloomberg_client - INFO - Connecting to Jupyter at http://192.168.3.161:8888...
2026-01-12 22:18:56,587 - app.clients.bloomberg_client - INFO - ✅ Authentication successful.
2026-01-12 22:18:56,619 - app.clients.bloomberg_client - INFO - ✅ Found existing kernel: bc27f3b1-b028-434a-99fa-c1cad4495a87 (remote_env)
2026-01-12 22:18:57,677 - app.clients.bloomberg_client - INFO - ✅ WebSocket connected.
2026-01-12 22:18:57,677 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=84, Msg=数据源连接成功, Progress=10%
2026-01-12 22:18:58,977 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=84, Msg=正在连接 Bloomberg 终端..., Progress=20%
2026-01-12 22:18:59,243 - app.clients.bloomberg_client - INFO - 🚀 Starting fetch for: 6301 JP Equity
2026-01-12 22:18:59,244 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=84, Msg=Starting Bloomberg session..., Progress=20%
2026-01-12 22:18:59,887 - app.clients.bloomberg_client - INFO - Using forced currency: CNY
2026-01-12 22:18:59,888 - app.clients.bloomberg_client - INFO - Fetching Basic Data...
2026-01-12 22:18:59,888 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=84, Msg=Fetching Company Basic Info..., Progress=27%
2026-01-12 22:19:01,204 - app.clients.bloomberg_client - INFO - REMOTE RAW OUTPUT: JSON_START
[{"Company_code": "6301 JP Equity", "update_date": "2026-01-12 22:19:02", "currency": "CNY", "indicator": "company_name", "value": "KOMATSU LTD", "value_date": "2026-01-12 22:19:02"}, {"Company_code": "6301 JP Equity", "update_date": "2026-01-12 22:19:02", "currency": "CNY", "indicator": "pe_ratio", "value": "11.538204871538206", "value_date": "2026-01-12 22:19:02"}, {"Company_code": "6301 JP Equity", "update_date": "2026-01-12 22:19:02", "currency": "CNY", "indicator": "pb_ratio", "value": "1.4637777168999744", "value_date": "2026-01-12 22:19:02"}, {"Company_code": "6301 JP Equity", "update_date": "2026-01-12 22:19:02", "currency": "CNY", "indicator": "Rev_Abroad", "value": "86.05716369679564", "value_date": "2026-01-12 22:19:02"}, {"Company_code": "6301 JP Equity", "update_date": "2026-01-12 22:19:02", "currency": "CNY", "indicator": "dividend_yield", "value": "3.894351262772315", "value_date": "2026-01-12 22:19:02"}, {"Company_code": "6301 JP Equity", "update_date": "2026
2026-01-12 22:19:01,205 - app.clients.bloomberg_client - INFO - ✅ Parsed 6 items from remote.
2026-01-12 22:19:01,205 - app.clients.bloomberg_client - INFO - DEBUG: basic_data before save: [{'Company_code': '6301 JP Equity', 'update_date': '2026-01-12 22:19:02', 'currency': 'CNY', 'indicator': 'company_name', 'value': 'KOMATSU LTD', 'value_date': '2026-01-12 22:19:02'}, {'Company_code': '6301 JP Equity', 'update_date': '2026-01-12 22:19:02', 'currency': 'CNY', 'indicator': 'pe_ratio', 'value': '11.538204871538206', 'value_date': '2026-01-12 22:19:02'}, {'Company_code': '6301 JP Equity', 'update_date': '2026-01-12 22:19:02', 'currency': 'CNY', 'indicator': 'pb_ratio', 'value': '1.4637777168999744', 'value_date': '2026-01-12 22:19:02'}, {'Company_code': '6301 JP Equity', 'update_date': '2026-01-12 22:19:02', 'currency': 'CNY', 'indicator': 'Rev_Abroad', 'value': '86.05716369679564', 'value_date': '2026-01-12 22:19:02'}, {'Company_code': '6301 JP Equity', 'update_date': '2026-01-12 22:19:02', 'currency': 'CNY', 'indicator': 'dividend_yield', 'value': '3.894351262772315', 'value_date': '2026-01-12 22:19:02'}, {'Company_code': '6301 JP Equity', 'update_date': '2026-01-12 22:19:02', 'currency': 'CNY', 'indicator': 'market_cap', 'value': '213059.5081', 'value_date': '2026-01-12 22:19:02'}]
2026-01-12 22:19:02,735 - app.clients.bloomberg_client - INFO - ✅ Saved 6 records to database.
2026-01-12 22:19:02,736 - app.clients.bloomberg_client - INFO - Fetching Currency Data...
2026-01-12 22:19:02,736 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=84, Msg=正在获取货币指标 (CNY)..., Progress=41%
2026-01-12 22:19:04,552 - app.clients.bloomberg_client - INFO - REMOTE RAW OUTPUT: JSON_START
[{"Company_code": "6301 JP Equity", "update_date": "2026-01-12 22:19:03", "currency": "CNY", "indicator": "Revenue", "value": "98388.5158", "value_date": "2016-03-31"}, {"Company_code": "6301 JP Equity", "update_date": "2026-01-12 22:19:03", "currency": "CNY", "indicator": "Net_Income", "value": "7289.1658", "value_date": "2016-03-31"}, {"Company_code": "6301 JP Equity", "update_date": "2026-01-12 22:19:03", "currency": "CNY", "indicator": "Cash_From_Operating", "value": "16953.5985", "value_date": "2016-03-31"}, {"Company_code": "6301 JP Equity", "update_date": "2026-01-12 22:19:03", "currency": "CNY", "indicator": "Capital_Expenditure", "value": "-8830.1561", "value_date": "2016-03-31"}, {"Company_code": "6301 JP Equity", "update_date": "2026-01-12 22:19:03", "currency": "CNY", "indicator": "Free_Cash_Flow", "value": "8123.4424", "value_date": "2016-03-31"}, {"Company_code": "6301 JP Equity", "update_date": "2026-01-12 22:19:03", "currency": "CNY", "indicator": "Dividends_
2026-01-12 22:19:04,553 - app.clients.bloomberg_client - INFO - ✅ Parsed 248 items from remote.
2026-01-12 22:19:28,949 - app.clients.bloomberg_client - INFO - ✅ Saved 248 records to database.
2026-01-12 22:19:28,951 - app.clients.bloomberg_client - INFO - Fetching Non-Currency Data...
2026-01-12 22:19:28,951 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=84, Msg=正在获取非货币指标..., Progress=55%
2026-01-12 22:19:30,386 - app.clients.bloomberg_client - INFO - REMOTE RAW OUTPUT: JSON_START
[{"Company_code": "6301 JP Equity", "update_date": "2026-01-12 22:19:29", "currency": "CNY", "indicator": "ROE", "value": "9.0222", "value_date": "2016-03-31"}, {"Company_code": "6301 JP Equity", "update_date": "2026-01-12 22:19:29", "currency": "CNY", "indicator": "ROA", "value": "5.0776", "value_date": "2016-03-31"}, {"Company_code": "6301 JP Equity", "update_date": "2026-01-12 22:19:29", "currency": "CNY", "indicator": "ROCE", "value": "10.4918", "value_date": "2016-03-31"}, {"Company_code": "6301 JP Equity", "update_date": "2026-01-12 22:19:29", "currency": "CNY", "indicator": "Gross_Margin", "value": "29.0675", "value_date": "2016-03-31"}, {"Company_code": "6301 JP Equity", "update_date": "2026-01-12 22:19:29", "currency": "CNY", "indicator": "EBITDA_margin", "value": "17.3073", "value_date": "2016-03-31"}, {"Company_code": "6301 JP Equity", "update_date": "2026-01-12 22:19:29", "currency": "CNY", "indicator": "Net_Profit_Margin", "value": "7.4086", "value_date": "2016-
2026-01-12 22:19:30,387 - app.clients.bloomberg_client - INFO - ✅ Parsed 200 items from remote.
2026-01-12 22:19:45,636 - app.clients.bloomberg_client - INFO - ✅ Saved 200 records to database.
2026-01-12 22:19:45,638 - app.clients.bloomberg_client - INFO - Fetching Price Data (Aligned)...
2026-01-12 22:19:45,638 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=84, Msg=正在获取价格指标..., Progress=69%
2026-01-12 22:19:46,248 - app.clients.bloomberg_client - INFO - Found 10 revenue reporting dates. Fetching aligned price data...
2026-01-12 22:20:01,288 - app.clients.bloomberg_client - INFO - REMOTE RAW OUTPUT: JSON_START
[{"Company_code": "6301 JP Equity", "update_date": "2026-01-12 22:19:46", "currency": "CNY", "indicator": "Last_Price", "value": "208.47187", "value_date": "2025-03-31"}, {"Company_code": "6301 JP Equity", "update_date": "2026-01-12 22:19:46", "currency": "CNY", "indicator": "Market_Cap", "value": "198246.9783", "value_date": "2025-03-31"}, {"Company_code": "6301 JP Equity", "update_date": "2026-01-12 22:19:46", "currency": "CNY", "indicator": "Dividend_Yield", "value": "4.4124", "value_date": "2025-03-31"}, {"Company_code": "6301 JP Equity", "update_date": "2026-01-12 22:19:46", "currency": "CNY", "indicator": "Last_Price", "value": "211.10676", "value_date": "2024-03-31"}, {"Company_code": "6301 JP Equity", "update_date": "2026-01-12 22:19:46", "currency": "CNY", "indicator": "Market_Cap", "value": "205578.0066", "value_date": "2024-03-31"}, {"Company_code": "6301 JP Equity", "update_date": "2026-01-12 22:19:46", "currency": "CNY", "indicator": "Dividend_Yield", "value": "
2026-01-12 22:20:01,289 - app.clients.bloomberg_client - INFO - ✅ Parsed 30 items from remote.
2026-01-12 22:20:04,481 - app.clients.bloomberg_client - INFO - ✅ Saved 30 records to database.
2026-01-12 22:20:04,482 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=84, Msg=Finalizing data..., Progress=82%
2026-01-12 22:20:05,789 - app.clients.bloomberg_client - INFO - ✅ Cleanup and View Refresh completed.
2026-01-12 22:20:05,789 - app.clients.bloomberg_client - INFO - ✅ Completed processing for 6301 JP Equity
2026-01-12 22:20:05,789 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=84, Msg=Bloomberg data sync complete, Progress=90%
2026-01-12 22:20:06,785 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=84, Msg=Bloomberg 数据同步完成, Progress=100%
2026-01-12 22:20:17,197 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=85, Msg=正在初始化数据获取..., Progress=0%
2026-01-12 22:20:17,758 - app.clients.bloomberg_client - INFO - Connecting to Jupyter at http://192.168.3.161:8888...
2026-01-12 22:20:17,985 - app.clients.bloomberg_client - INFO - ✅ Authentication successful.
2026-01-12 22:20:18,466 - app.clients.bloomberg_client - INFO - ✅ Found existing kernel: bc27f3b1-b028-434a-99fa-c1cad4495a87 (remote_env)
2026-01-12 22:20:18,628 - app.clients.bloomberg_client - INFO - ✅ WebSocket connected.
2026-01-12 22:20:18,629 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=85, Msg=数据源连接成功, Progress=10%
2026-01-12 22:20:19,398 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=85, Msg=正在连接 Bloomberg 终端..., Progress=20%
2026-01-12 22:20:20,286 - app.clients.bloomberg_client - INFO - 🚀 Starting fetch for: 6301 JP Equity
2026-01-12 22:20:20,286 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=85, Msg=Starting Bloomberg session..., Progress=20%
2026-01-12 22:20:20,882 - app.clients.bloomberg_client - INFO - Using auto-detected currency: JPY
2026-01-12 22:20:20,883 - app.clients.bloomberg_client - INFO - Fetching Basic Data...
2026-01-12 22:20:20,883 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=85, Msg=Fetching Company Basic Info..., Progress=27%
2026-01-12 22:20:22,541 - app.clients.bloomberg_client - INFO - REMOTE RAW OUTPUT: JSON_START
[{"Company_code": "6301 JP Equity", "update_date": "2026-01-12 22:20:23", "currency": "JPY", "indicator": "company_name", "value": "KOMATSU LTD", "value_date": "2026-01-12 22:20:23"}, {"Company_code": "6301 JP Equity", "update_date": "2026-01-12 22:20:23", "currency": "JPY", "indicator": "pe_ratio", "value": "11.538204871538206", "value_date": "2026-01-12 22:20:23"}, {"Company_code": "6301 JP Equity", "update_date": "2026-01-12 22:20:23", "currency": "JPY", "indicator": "pb_ratio", "value": "1.4637777168999744", "value_date": "2026-01-12 22:20:23"}, {"Company_code": "6301 JP Equity", "update_date": "2026-01-12 22:20:23", "currency": "JPY", "indicator": "Rev_Abroad", "value": "86.05716369679564", "value_date": "2026-01-12 22:20:23"}, {"Company_code": "6301 JP Equity", "update_date": "2026-01-12 22:20:23", "currency": "JPY", "indicator": "dividend_yield", "value": "3.894351262772315", "value_date": "2026-01-12 22:20:23"}, {"Company_code": "6301 JP Equity", "update_date": "2026
2026-01-12 22:20:22,541 - app.clients.bloomberg_client - INFO - ✅ Parsed 6 items from remote.
2026-01-12 22:20:22,541 - app.clients.bloomberg_client - INFO - DEBUG: basic_data before save: [{'Company_code': '6301 JP Equity', 'update_date': '2026-01-12 22:20:23', 'currency': 'JPY', 'indicator': 'company_name', 'value': 'KOMATSU LTD', 'value_date': '2026-01-12 22:20:23'}, {'Company_code': '6301 JP Equity', 'update_date': '2026-01-12 22:20:23', 'currency': 'JPY', 'indicator': 'pe_ratio', 'value': '11.538204871538206', 'value_date': '2026-01-12 22:20:23'}, {'Company_code': '6301 JP Equity', 'update_date': '2026-01-12 22:20:23', 'currency': 'JPY', 'indicator': 'pb_ratio', 'value': '1.4637777168999744', 'value_date': '2026-01-12 22:20:23'}, {'Company_code': '6301 JP Equity', 'update_date': '2026-01-12 22:20:23', 'currency': 'JPY', 'indicator': 'Rev_Abroad', 'value': '86.05716369679564', 'value_date': '2026-01-12 22:20:23'}, {'Company_code': '6301 JP Equity', 'update_date': '2026-01-12 22:20:23', 'currency': 'JPY', 'indicator': 'dividend_yield', 'value': '3.894351262772315', 'value_date': '2026-01-12 22:20:23'}, {'Company_code': '6301 JP Equity', 'update_date': '2026-01-12 22:20:23', 'currency': 'JPY', 'indicator': 'market_cap', 'value': '4825676.7959', 'value_date': '2026-01-12 22:20:23'}]
2026-01-12 22:20:24,221 - app.clients.bloomberg_client - INFO - ✅ Saved 6 records to database.
2026-01-12 22:20:24,222 - app.clients.bloomberg_client - INFO - Fetching Currency Data...
2026-01-12 22:20:24,222 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=85, Msg=正在获取货币指标 (JPY)..., Progress=41%
2026-01-12 22:20:25,706 - app.clients.bloomberg_client - INFO - REMOTE RAW OUTPUT: JSON_START
[{"Company_code": "6301 JP Equity", "update_date": "2026-01-12 22:20:24", "currency": "JPY", "indicator": "Revenue", "value": "1854964.0", "value_date": "2016-03-31"}, {"Company_code": "6301 JP Equity", "update_date": "2026-01-12 22:20:24", "currency": "JPY", "indicator": "Net_Income", "value": "137426.0", "value_date": "2016-03-31"}, {"Company_code": "6301 JP Equity", "update_date": "2026-01-12 22:20:24", "currency": "JPY", "indicator": "Cash_From_Operating", "value": "319634.0", "value_date": "2016-03-31"}, {"Company_code": "6301 JP Equity", "update_date": "2026-01-12 22:20:24", "currency": "JPY", "indicator": "Capital_Expenditure", "value": "-166479.0", "value_date": "2016-03-31"}, {"Company_code": "6301 JP Equity", "update_date": "2026-01-12 22:20:24", "currency": "JPY", "indicator": "Free_Cash_Flow", "value": "153155.0", "value_date": "2016-03-31"}, {"Company_code": "6301 JP Equity", "update_date": "2026-01-12 22:20:24", "currency": "JPY", "indicator": "Dividends_Paid",
2026-01-12 22:20:25,707 - app.clients.bloomberg_client - INFO - ✅ Parsed 248 items from remote.
2026-01-12 22:20:46,304 - app.clients.bloomberg_client - INFO - ✅ Saved 248 records to database.
2026-01-12 22:20:46,307 - app.clients.bloomberg_client - INFO - Fetching Non-Currency Data...
2026-01-12 22:20:46,307 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=85, Msg=正在获取非货币指标..., Progress=55%
2026-01-12 22:20:48,044 - app.clients.bloomberg_client - INFO - REMOTE RAW OUTPUT: JSON_START
[{"Company_code": "6301 JP Equity", "update_date": "2026-01-12 22:20:46", "currency": "JPY", "indicator": "ROE", "value": "9.0222", "value_date": "2016-03-31"}, {"Company_code": "6301 JP Equity", "update_date": "2026-01-12 22:20:46", "currency": "JPY", "indicator": "ROA", "value": "5.0776", "value_date": "2016-03-31"}, {"Company_code": "6301 JP Equity", "update_date": "2026-01-12 22:20:46", "currency": "JPY", "indicator": "ROCE", "value": "10.4918", "value_date": "2016-03-31"}, {"Company_code": "6301 JP Equity", "update_date": "2026-01-12 22:20:46", "currency": "JPY", "indicator": "Gross_Margin", "value": "29.0675", "value_date": "2016-03-31"}, {"Company_code": "6301 JP Equity", "update_date": "2026-01-12 22:20:46", "currency": "JPY", "indicator": "EBITDA_margin", "value": "17.3073", "value_date": "2016-03-31"}, {"Company_code": "6301 JP Equity", "update_date": "2026-01-12 22:20:46", "currency": "JPY", "indicator": "Net_Profit_Margin", "value": "7.4086", "value_date": "2016-
2026-01-12 22:20:48,045 - app.clients.bloomberg_client - INFO - ✅ Parsed 200 items from remote.
2026-01-12 22:21:02,961 - app.clients.bloomberg_client - INFO - ✅ Saved 200 records to database.
2026-01-12 22:21:02,964 - app.clients.bloomberg_client - INFO - Fetching Price Data (Aligned)...
2026-01-12 22:21:02,965 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=85, Msg=正在获取价格指标..., Progress=69%
2026-01-12 22:21:05,078 - app.clients.bloomberg_client - INFO - Found 10 revenue reporting dates. Fetching aligned price data...
2026-01-12 22:21:18,531 - app.clients.bloomberg_client - INFO - REMOTE RAW OUTPUT: JSON_START
[{"Company_code": "6301 JP Equity", "update_date": "2026-01-12 22:21:05", "currency": "JPY", "indicator": "Last_Price", "value": "4306.0", "value_date": "2025-03-31"}, {"Company_code": "6301 JP Equity", "update_date": "2026-01-12 22:21:05", "currency": "JPY", "indicator": "Market_Cap", "value": "4094804.1347", "value_date": "2025-03-31"}, {"Company_code": "6301 JP Equity", "update_date": "2026-01-12 22:21:05", "currency": "JPY", "indicator": "Dividend_Yield", "value": "4.4124", "value_date": "2025-03-31"}, {"Company_code": "6301 JP Equity", "update_date": "2026-01-12 22:21:05", "currency": "JPY", "indicator": "Last_Price", "value": "4423.0", "value_date": "2024-03-31"}, {"Company_code": "6301 JP Equity", "update_date": "2026-01-12 22:21:05", "currency": "JPY", "indicator": "Market_Cap", "value": "4307164.3723", "value_date": "2024-03-31"}, {"Company_code": "6301 JP Equity", "update_date": "2026-01-12 22:21:05", "currency": "JPY", "indicator": "Dividend_Yield", "value": "3.77
2026-01-12 22:21:18,535 - app.clients.bloomberg_client - INFO - ✅ Parsed 30 items from remote.
2026-01-12 22:21:22,636 - app.clients.bloomberg_client - INFO - ✅ Saved 30 records to database.
2026-01-12 22:21:22,637 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=85, Msg=Finalizing data..., Progress=82%
2026-01-12 22:21:24,568 - app.clients.bloomberg_client - INFO - ✅ Cleanup and View Refresh completed.
2026-01-12 22:21:24,569 - app.clients.bloomberg_client - INFO - ✅ Completed processing for 6301 JP Equity
2026-01-12 22:21:24,570 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=85, Msg=Bloomberg data sync complete, Progress=90%
2026-01-12 22:21:25,136 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=85, Msg=Bloomberg 数据同步完成, Progress=100%
2026-01-13 09:19:34,085 - google_genai.models - INFO - AFC is enabled with max remote calls: 10.
2026-01-13 09:19:40,592 - httpx - INFO - HTTP Request: POST https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash:generateContent "HTTP/1.1 200 OK"
2026-01-13 09:32:36,415 - google_genai.models - INFO - AFC is enabled with max remote calls: 10.
2026-01-13 09:32:53,486 - httpx - INFO - HTTP Request: POST https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash:generateContent "HTTP/1.1 200 OK"
2026-01-13 09:33:12,180 - google_genai.models - INFO - AFC is enabled with max remote calls: 10.
2026-01-13 09:33:28,715 - httpx - INFO - HTTP Request: POST https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash:generateContent "HTTP/1.1 200 OK"
2026-01-13 09:36:46,297 - google_genai.models - INFO - AFC is enabled with max remote calls: 10.
2026-01-13 09:36:59,091 - httpx - INFO - HTTP Request: POST https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash:generateContent "HTTP/1.1 200 OK"
2026-01-13 10:23:19,850 - google_genai.models - INFO - AFC is enabled with max remote calls: 10.
2026-01-13 10:23:34,015 - httpx - INFO - HTTP Request: POST https://generativelanguage.googleapis.com/v1beta/models/gemini-3-flash-preview:generateContent "HTTP/1.1 200 OK"
2026-01-13 10:24:01,616 - google_genai.models - INFO - AFC is enabled with max remote calls: 10.
2026-01-13 10:24:16,031 - httpx - INFO - HTTP Request: POST https://generativelanguage.googleapis.com/v1beta/models/gemini-3-flash-preview:generateContent "HTTP/1.1 200 OK"
2026-01-13 10:29:57,190 - app.main - INFO - 🔍 [搜索] 开始搜索股票: 理文造纸
2026-01-13 10:29:57,291 - app.main - INFO - 🤖 [搜索-LLM] 调用 gemini-2.5-flash 进行股票搜索
2026-01-13 10:29:57,292 - google_genai.models - INFO - AFC is enabled with max remote calls: 10.
2026-01-13 10:30:03,475 - httpx - INFO - HTTP Request: POST https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash:generateContent "HTTP/1.1 200 OK"
2026-01-13 10:30:03,489 - app.main - INFO - ✅ [搜索-LLM] 模型响应完成, 耗时: 6.20秒, Tokens: prompt=167, completion=120, total=287
2026-01-13 10:30:03,490 - app.main - INFO - ✅ [搜索] 搜索完成, 找到 2 个结果, 总耗时: 6.30秒
2026-01-13 10:30:09,631 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=86, Msg=正在初始化数据获取..., Progress=0%
2026-01-13 10:30:10,234 - app.clients.bloomberg_client - INFO - Connecting to Jupyter at http://192.168.3.161:8888...
2026-01-13 10:30:10,514 - app.clients.bloomberg_client - INFO - ✅ Authentication successful.
2026-01-13 10:30:10,544 - app.clients.bloomberg_client - INFO - ✅ Found existing kernel: bc27f3b1-b028-434a-99fa-c1cad4495a87 (remote_env)
2026-01-13 10:30:10,761 - app.clients.bloomberg_client - INFO - ✅ WebSocket connected.
2026-01-13 10:30:10,761 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=86, Msg=数据源连接成功, Progress=10%
2026-01-13 10:30:11,228 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=86, Msg=正在连接 Bloomberg 终端..., Progress=20%
2026-01-13 10:30:12,031 - app.clients.bloomberg_client - INFO - 🚀 Starting fetch for: 02314 HK Equity
2026-01-13 10:30:12,031 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=86, Msg=Starting Bloomberg session..., Progress=20%
2026-01-13 10:30:12,786 - app.clients.bloomberg_client - INFO - Using auto-detected currency: HKD
2026-01-13 10:30:12,786 - app.clients.bloomberg_client - INFO - Fetching Basic Data...
2026-01-13 10:30:12,786 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=86, Msg=Fetching Company Basic Info..., Progress=27%
2026-01-13 10:30:14,623 - app.clients.bloomberg_client - INFO - REMOTE RAW OUTPUT: JSON_START
[{"Company_code": "02314 HK Equity", "update_date": "2026-01-13 10:30:14", "currency": "HKD", "indicator": "company_name", "value": "LEE & MAN PAPER MANUFACTURIN", "value_date": "2026-01-13 10:30:14"}, {"Company_code": "02314 HK Equity", "update_date": "2026-01-13 10:30:14", "currency": "HKD", "indicator": "pe_ratio", "value": "10.646742709315328", "value_date": "2026-01-13 10:30:14"}, {"Company_code": "02314 HK Equity", "update_date": "2026-01-13 10:30:14", "currency": "HKD", "indicator": "pb_ratio", "value": "0.5032843258204789", "value_date": "2026-01-13 10:30:14"}, {"Company_code": "02314 HK Equity", "update_date": "2026-01-13 10:30:14", "currency": "HKD", "indicator": "dividend_yield", "value": "3.293768588442477", "value_date": "2026-01-13 10:30:14"}, {"Company_code": "02314 HK Equity", "update_date": "2026-01-13 10:30:14", "currency": "HKD", "indicator": "IPO_date", "value": "2003-09-26", "value_date": "2026-01-13 10:30:14"}, {"Company_code": "02314 HK Equity", "updat
2026-01-13 10:30:14,623 - app.clients.bloomberg_client - INFO - ✅ Parsed 6 items from remote.
2026-01-13 10:30:14,624 - app.clients.bloomberg_client - INFO - DEBUG: basic_data before save: [{'Company_code': '02314 HK Equity', 'update_date': '2026-01-13 10:30:14', 'currency': 'HKD', 'indicator': 'company_name', 'value': 'LEE & MAN PAPER MANUFACTURIN', 'value_date': '2026-01-13 10:30:14'}, {'Company_code': '02314 HK Equity', 'update_date': '2026-01-13 10:30:14', 'currency': 'HKD', 'indicator': 'pe_ratio', 'value': '10.646742709315328', 'value_date': '2026-01-13 10:30:14'}, {'Company_code': '02314 HK Equity', 'update_date': '2026-01-13 10:30:14', 'currency': 'HKD', 'indicator': 'pb_ratio', 'value': '0.5032843258204789', 'value_date': '2026-01-13 10:30:14'}, {'Company_code': '02314 HK Equity', 'update_date': '2026-01-13 10:30:14', 'currency': 'HKD', 'indicator': 'dividend_yield', 'value': '3.293768588442477', 'value_date': '2026-01-13 10:30:14'}, {'Company_code': '02314 HK Equity', 'update_date': '2026-01-13 10:30:14', 'currency': 'HKD', 'indicator': 'IPO_date', 'value': '2003-09-26', 'value_date': '2026-01-13 10:30:14'}, {'Company_code': '02314 HK Equity', 'update_date': '2026-01-13 10:30:14', 'currency': 'HKD', 'indicator': 'market_cap', 'value': '14517.1005', 'value_date': '2026-01-13 10:30:14'}]
2026-01-13 10:30:16,139 - app.clients.bloomberg_client - INFO - ✅ Saved 6 records to database.
2026-01-13 10:30:16,140 - app.clients.bloomberg_client - INFO - Fetching Currency Data...
2026-01-13 10:30:16,140 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=86, Msg=正在获取货币指标 (HKD)..., Progress=41%
2026-01-13 10:30:17,030 - app.clients.bloomberg_client - INFO - REMOTE RAW OUTPUT: JSON_START
[{"Company_code": "02314 HK Equity", "update_date": "2026-01-13 10:30:16", "currency": "HKD", "indicator": "Revenue", "value": "18341.677", "value_date": "2016-12-31"}, {"Company_code": "02314 HK Equity", "update_date": "2026-01-13 10:30:16", "currency": "HKD", "indicator": "Net_Income", "value": "2862.743", "value_date": "2016-12-31"}, {"Company_code": "02314 HK Equity", "update_date": "2026-01-13 10:30:16", "currency": "HKD", "indicator": "Cash_From_Operating", "value": "3939.552", "value_date": "2016-12-31"}, {"Company_code": "02314 HK Equity", "update_date": "2026-01-13 10:30:16", "currency": "HKD", "indicator": "Capital_Expenditure", "value": "-3737.839", "value_date": "2016-12-31"}, {"Company_code": "02314 HK Equity", "update_date": "2026-01-13 10:30:16", "currency": "HKD", "indicator": "Free_Cash_Flow", "value": "201.713", "value_date": "2016-12-31"}, {"Company_code": "02314 HK Equity", "update_date": "2026-01-13 10:30:16", "currency": "HKD", "indicator": "Dividends_P
2026-01-13 10:30:17,031 - app.clients.bloomberg_client - INFO - ✅ Parsed 213 items from remote.
2026-01-13 10:30:29,114 - app.clients.bloomberg_client - INFO - ✅ Saved 213 records to database.
2026-01-13 10:30:29,116 - app.clients.bloomberg_client - INFO - Fetching Non-Currency Data...
2026-01-13 10:30:29,116 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=86, Msg=正在获取非货币指标..., Progress=55%
2026-01-13 10:30:30,169 - app.clients.bloomberg_client - INFO - REMOTE RAW OUTPUT: JSON_START
[{"Company_code": "02314 HK Equity", "update_date": "2026-01-13 10:30:29", "currency": "HKD", "indicator": "ROE", "value": "16.8104", "value_date": "2016-12-31"}, {"Company_code": "02314 HK Equity", "update_date": "2026-01-13 10:30:29", "currency": "HKD", "indicator": "ROA", "value": "8.1103", "value_date": "2016-12-31"}, {"Company_code": "02314 HK Equity", "update_date": "2026-01-13 10:30:29", "currency": "HKD", "indicator": "ROCE", "value": "11.3233", "value_date": "2016-12-31"}, {"Company_code": "02314 HK Equity", "update_date": "2026-01-13 10:30:29", "currency": "HKD", "indicator": "Gross_Margin", "value": "22.2473", "value_date": "2016-12-31"}, {"Company_code": "02314 HK Equity", "update_date": "2026-01-13 10:30:29", "currency": "HKD", "indicator": "EBITDA_margin", "value": "18.996", "value_date": "2016-12-31"}, {"Company_code": "02314 HK Equity", "update_date": "2026-01-13 10:30:29", "currency": "HKD", "indicator": "Net_Profit_Margin", "value": "15.6079", "value_date":
2026-01-13 10:30:30,170 - app.clients.bloomberg_client - INFO - ✅ Parsed 163 items from remote.
2026-01-13 10:30:39,430 - app.clients.bloomberg_client - INFO - ✅ Saved 163 records to database.
2026-01-13 10:30:39,431 - app.clients.bloomberg_client - INFO - Fetching Price Data (Aligned)...
2026-01-13 10:30:39,432 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=86, Msg=正在获取价格指标..., Progress=69%
2026-01-13 10:30:39,741 - app.clients.bloomberg_client - INFO - Found 9 revenue reporting dates. Fetching aligned price data...
2026-01-13 10:30:50,248 - app.clients.bloomberg_client - INFO - REMOTE RAW OUTPUT: JSON_START
[{"Company_code": "02314 HK Equity", "update_date": "2026-01-13 10:30:39", "currency": "HKD", "indicator": "Last_Price", "value": "2.41", "value_date": "2024-12-31"}, {"Company_code": "02314 HK Equity", "update_date": "2026-01-13 10:30:39", "currency": "HKD", "indicator": "Market_Cap", "value": "10350.95", "value_date": "2024-12-31"}, {"Company_code": "02314 HK Equity", "update_date": "2026-01-13 10:30:39", "currency": "HKD", "indicator": "Dividend_Yield", "value": "5.1037", "value_date": "2024-12-31"}, {"Company_code": "02314 HK Equity", "update_date": "2026-01-13 10:30:39", "currency": "HKD", "indicator": "Last_Price", "value": "2.29", "value_date": "2023-12-31"}, {"Company_code": "02314 HK Equity", "update_date": "2026-01-13 10:30:39", "currency": "HKD", "indicator": "Market_Cap", "value": "9868.9038", "value_date": "2023-12-31"}, {"Company_code": "02314 HK Equity", "update_date": "2026-01-13 10:30:39", "currency": "HKD", "indicator": "Dividend_Yield", "value": "2.5328",
2026-01-13 10:30:50,249 - app.clients.bloomberg_client - INFO - ✅ Parsed 27 items from remote.
2026-01-13 10:30:52,276 - app.clients.bloomberg_client - INFO - ✅ Saved 27 records to database.
2026-01-13 10:30:52,278 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=86, Msg=Finalizing data..., Progress=82%
2026-01-13 10:30:53,556 - app.clients.bloomberg_client - INFO - ✅ Cleanup and View Refresh completed.
2026-01-13 10:30:53,557 - app.clients.bloomberg_client - INFO - ✅ Completed processing for 02314 HK Equity
2026-01-13 10:30:53,557 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=86, Msg=Bloomberg data sync complete, Progress=90%
2026-01-13 10:30:53,866 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=86, Msg=Bloomberg 数据同步完成, Progress=100%
2026-01-13 10:33:28,211 - google_genai.models - INFO - AFC is enabled with max remote calls: 10.
2026-01-13 10:33:48,399 - httpx - INFO - HTTP Request: POST https://generativelanguage.googleapis.com/v1beta/models/gemini-3-flash-preview:generateContent "HTTP/1.1 200 OK"
2026-01-13 10:36:42,054 - google_genai.models - INFO - AFC is enabled with max remote calls: 10.
2026-01-13 10:37:00,757 - httpx - INFO - HTTP Request: POST https://generativelanguage.googleapis.com/v1beta/models/gemini-3-flash-preview:generateContent "HTTP/1.1 200 OK"
2026-01-13 10:48:46,989 - app.api.chat_routes - ERROR - Stream generation error: Models.generate_content() got an unexpected keyword argument 'stream'
2026-01-13 10:49:06,199 - app.api.chat_routes - ERROR - Stream generation error: Models.generate_content() got an unexpected keyword argument 'stream'
2026-01-13 10:50:51,922 - google_genai.models - INFO - AFC is enabled with max remote calls: 10.
2026-01-13 10:51:04,963 - httpx - INFO - HTTP Request: POST https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash:streamGenerateContent?alt=sse "HTTP/1.1 200 OK"
2026-01-13 10:51:31,643 - google_genai.models - INFO - AFC is enabled with max remote calls: 10.
2026-01-13 10:51:41,555 - httpx - INFO - HTTP Request: POST https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash:streamGenerateContent?alt=sse "HTTP/1.1 200 OK"
2026-01-13 11:12:30,678 - google_genai.models - INFO - AFC is enabled with max remote calls: 10.
2026-01-13 11:12:36,515 - httpx - INFO - HTTP Request: POST https://generativelanguage.googleapis.com/v1beta/models/gemini-3-flash-preview:streamGenerateContent?alt=sse "HTTP/1.1 200 OK"
2026-01-13 11:13:32,305 - google_genai.models - INFO - AFC is enabled with max remote calls: 10.
2026-01-13 11:13:39,439 - httpx - INFO - HTTP Request: POST https://generativelanguage.googleapis.com/v1beta/models/gemini-3-flash-preview:streamGenerateContent?alt=sse "HTTP/1.1 200 OK"
2026-01-13 11:15:42,762 - google_genai.models - INFO - AFC is enabled with max remote calls: 10.
2026-01-13 11:15:54,798 - httpx - INFO - HTTP Request: POST https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash:streamGenerateContent?alt=sse "HTTP/1.1 200 OK"
2026-01-13 11:17:56,437 - google_genai.models - INFO - AFC is enabled with max remote calls: 10.
2026-01-13 11:18:03,073 - httpx - INFO - HTTP Request: POST https://generativelanguage.googleapis.com/v1beta/models/gemini-3-flash-preview:streamGenerateContent?alt=sse "HTTP/1.1 200 OK"
2026-01-13 13:46:38,919 - google_genai.models - INFO - AFC is enabled with max remote calls: 10.
2026-01-13 13:46:45,337 - httpx - INFO - HTTP Request: POST https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash:streamGenerateContent?alt=sse "HTTP/1.1 200 OK"
2026-01-13 13:55:22,566 - google_genai.models - INFO - AFC is enabled with max remote calls: 10.
2026-01-13 13:55:30,494 - httpx - INFO - HTTP Request: POST https://generativelanguage.googleapis.com/v1beta/models/gemini-3-flash-preview:streamGenerateContent?alt=sse "HTTP/1.1 200 OK"
2026-01-13 13:55:51,512 - google_genai.models - INFO - AFC is enabled with max remote calls: 10.
2026-01-13 13:56:04,646 - httpx - INFO - HTTP Request: POST https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash:streamGenerateContent?alt=sse "HTTP/1.1 200 OK"
2026-01-13 13:57:43,472 - google_genai.models - INFO - AFC is enabled with max remote calls: 10.
2026-01-13 13:57:51,321 - httpx - INFO - HTTP Request: POST https://generativelanguage.googleapis.com/v1beta/models/gemini-3-flash-preview:streamGenerateContent?alt=sse "HTTP/1.1 200 OK"
2026-01-13 13:59:03,716 - google_genai.models - INFO - AFC is enabled with max remote calls: 10.
2026-01-13 13:59:17,415 - httpx - INFO - HTTP Request: POST https://generativelanguage.googleapis.com/v1beta/models/gemini-3-flash-preview:streamGenerateContent?alt=sse "HTTP/1.1 200 OK"
2026-01-13 14:07:07,996 - google_genai.models - INFO - AFC is enabled with max remote calls: 10.
2026-01-13 14:07:21,494 - httpx - INFO - HTTP Request: POST https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash:streamGenerateContent?alt=sse "HTTP/1.1 200 OK"
2026-01-13 14:07:48,005 - google_genai.models - INFO - AFC is enabled with max remote calls: 10.
2026-01-13 14:08:04,297 - httpx - INFO - HTTP Request: POST https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash:streamGenerateContent?alt=sse "HTTP/1.1 200 OK"
2026-01-13 19:33:03,102 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=93, Msg=正在初始化数据获取..., Progress=0%
2026-01-13 19:33:04,166 - app.clients.bloomberg_client - INFO - Connecting to Jupyter at http://192.168.3.161:8888...
2026-01-13 19:33:07,038 - app.clients.bloomberg_client - INFO - ✅ Authentication successful.
2026-01-13 19:33:07,064 - app.clients.bloomberg_client - INFO - ✅ Found existing kernel: bc27f3b1-b028-434a-99fa-c1cad4495a87 (remote_env)
2026-01-13 19:33:08,114 - app.clients.bloomberg_client - INFO - ✅ WebSocket connected.
2026-01-13 19:33:08,115 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=93, Msg=数据源连接成功, Progress=10%
2026-01-13 19:33:09,354 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=93, Msg=正在连接 Bloomberg 终端..., Progress=20%
2026-01-13 19:33:09,827 - app.clients.bloomberg_client - INFO - 🚀 Starting fetch for: 7741 JP Equity
2026-01-13 19:33:09,828 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=93, Msg=Starting Bloomberg session..., Progress=20%
2026-01-13 19:33:10,428 - app.clients.bloomberg_client - INFO - Using auto-detected currency: JPY
2026-01-13 19:33:10,429 - app.clients.bloomberg_client - INFO - Fetching Basic Data...
2026-01-13 19:33:10,429 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=93, Msg=Fetching Company Basic Info..., Progress=27%
2026-01-13 19:33:12,439 - app.clients.bloomberg_client - INFO - REMOTE RAW OUTPUT: JSON_START
[{"Company_code": "7741 JP Equity", "update_date": "2026-01-13 19:33:13", "currency": "JPY", "indicator": "company_name", "value": "HOYA CORP", "value_date": "2026-01-13 19:33:13"}, {"Company_code": "7741 JP Equity", "update_date": "2026-01-13 19:33:13", "currency": "JPY", "indicator": "pe_ratio", "value": "40.710103933692935", "value_date": "2026-01-13 19:33:13"}, {"Company_code": "7741 JP Equity", "update_date": "2026-01-13 19:33:13", "currency": "JPY", "indicator": "pb_ratio", "value": "8.375901653285727", "value_date": "2026-01-13 19:33:13"}, {"Company_code": "7741 JP Equity", "update_date": "2026-01-13 19:33:13", "currency": "JPY", "indicator": "Rev_Abroad", "value": "78.89373602822991", "value_date": "2026-01-13 19:33:13"}, {"Company_code": "7741 JP Equity", "update_date": "2026-01-13 19:33:13", "currency": "JPY", "indicator": "dividend_yield", "value": "0.9695011108866897", "value_date": "2026-01-13 19:33:13"}, {"Company_code": "7741 JP Equity", "update_date": "2026-0
2026-01-13 19:33:12,440 - app.clients.bloomberg_client - INFO - ✅ Parsed 6 items from remote.
2026-01-13 19:33:12,440 - app.clients.bloomberg_client - INFO - DEBUG: basic_data before save: [{'Company_code': '7741 JP Equity', 'update_date': '2026-01-13 19:33:13', 'currency': 'JPY', 'indicator': 'company_name', 'value': 'HOYA CORP', 'value_date': '2026-01-13 19:33:13'}, {'Company_code': '7741 JP Equity', 'update_date': '2026-01-13 19:33:13', 'currency': 'JPY', 'indicator': 'pe_ratio', 'value': '40.710103933692935', 'value_date': '2026-01-13 19:33:13'}, {'Company_code': '7741 JP Equity', 'update_date': '2026-01-13 19:33:13', 'currency': 'JPY', 'indicator': 'pb_ratio', 'value': '8.375901653285727', 'value_date': '2026-01-13 19:33:13'}, {'Company_code': '7741 JP Equity', 'update_date': '2026-01-13 19:33:13', 'currency': 'JPY', 'indicator': 'Rev_Abroad', 'value': '78.89373602822991', 'value_date': '2026-01-13 19:33:13'}, {'Company_code': '7741 JP Equity', 'update_date': '2026-01-13 19:33:13', 'currency': 'JPY', 'indicator': 'dividend_yield', 'value': '0.9695011108866897', 'value_date': '2026-01-13 19:33:13'}, {'Company_code': '7741 JP Equity', 'update_date': '2026-01-13 19:33:13', 'currency': 'JPY', 'indicator': 'market_cap', 'value': '8377446.4916', 'value_date': '2026-01-13 19:33:13'}]
2026-01-13 19:33:14,193 - app.clients.bloomberg_client - INFO - ✅ Saved 6 records to database.
2026-01-13 19:33:14,193 - app.clients.bloomberg_client - INFO - Fetching Currency Data...
2026-01-13 19:33:14,194 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=93, Msg=正在获取货币指标 (JPY)..., Progress=41%
2026-01-13 19:33:15,528 - app.clients.bloomberg_client - INFO - REMOTE RAW OUTPUT: JSON_START
[{"Company_code": "7741 JP Equity", "update_date": "2026-01-13 19:33:14", "currency": "JPY", "indicator": "Revenue", "value": "505714.0", "value_date": "2016-03-31"}, {"Company_code": "7741 JP Equity", "update_date": "2026-01-13 19:33:14", "currency": "JPY", "indicator": "Net_Income", "value": "93175.0", "value_date": "2016-03-31"}, {"Company_code": "7741 JP Equity", "update_date": "2026-01-13 19:33:14", "currency": "JPY", "indicator": "Cash_From_Operating", "value": "131889.0", "value_date": "2016-03-31"}, {"Company_code": "7741 JP Equity", "update_date": "2026-01-13 19:33:14", "currency": "JPY", "indicator": "Capital_Expenditure", "value": "-18184.0", "value_date": "2016-03-31"}, {"Company_code": "7741 JP Equity", "update_date": "2026-01-13 19:33:14", "currency": "JPY", "indicator": "Free_Cash_Flow", "value": "113705.0", "value_date": "2016-03-31"}, {"Company_code": "7741 JP Equity", "update_date": "2026-01-13 19:33:14", "currency": "JPY", "indicator": "Dividends_Paid", "v
2026-01-13 19:33:15,529 - app.clients.bloomberg_client - INFO - ✅ Parsed 250 items from remote.
2026-01-13 19:33:38,844 - app.clients.bloomberg_client - INFO - ✅ Saved 250 records to database.
2026-01-13 19:33:38,846 - app.clients.bloomberg_client - INFO - Fetching Non-Currency Data...
2026-01-13 19:33:38,846 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=93, Msg=正在获取非货币指标..., Progress=55%
2026-01-13 19:33:40,114 - app.clients.bloomberg_client - INFO - REMOTE RAW OUTPUT: JSON_START
[{"Company_code": "7741 JP Equity", "update_date": "2026-01-13 19:33:39", "currency": "JPY", "indicator": "ROE", "value": "17.2024", "value_date": "2016-03-31"}, {"Company_code": "7741 JP Equity", "update_date": "2026-01-13 19:33:39", "currency": "JPY", "indicator": "ROA", "value": "13.575", "value_date": "2016-03-31"}, {"Company_code": "7741 JP Equity", "update_date": "2026-01-13 19:33:39", "currency": "JPY", "indicator": "ROCE", "value": "17.5001", "value_date": "2016-03-31"}, {"Company_code": "7741 JP Equity", "update_date": "2026-01-13 19:33:39", "currency": "JPY", "indicator": "Gross_Margin", "value": "82.1978", "value_date": "2016-03-31"}, {"Company_code": "7741 JP Equity", "update_date": "2026-01-13 19:33:39", "currency": "JPY", "indicator": "EBITDA_margin", "value": "30.539", "value_date": "2016-03-31"}, {"Company_code": "7741 JP Equity", "update_date": "2026-01-13 19:33:39", "currency": "JPY", "indicator": "Net_Profit_Margin", "value": "18.4244", "value_date": "2016
2026-01-13 19:33:40,115 - app.clients.bloomberg_client - INFO - ✅ Parsed 200 items from remote.
2026-01-13 19:33:56,672 - app.clients.bloomberg_client - INFO - ✅ Saved 200 records to database.
2026-01-13 19:33:56,673 - app.clients.bloomberg_client - INFO - Fetching Price Data (Aligned)...
2026-01-13 19:33:56,673 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=93, Msg=正在获取价格指标..., Progress=69%
2026-01-13 19:33:57,442 - app.clients.bloomberg_client - INFO - Found 10 revenue reporting dates. Fetching aligned price data...
2026-01-13 19:34:09,872 - app.clients.bloomberg_client - INFO - REMOTE RAW OUTPUT: JSON_START
[{"Company_code": "7741 JP Equity", "update_date": "2026-01-13 19:33:57", "currency": "JPY", "indicator": "Last_Price", "value": "16780.0", "value_date": "2025-03-31"}, {"Company_code": "7741 JP Equity", "update_date": "2026-01-13 19:33:57", "currency": "JPY", "indicator": "Market_Cap", "value": "5803517.7116", "value_date": "2025-03-31"}, {"Company_code": "7741 JP Equity", "update_date": "2026-01-13 19:33:57", "currency": "JPY", "indicator": "Dividend_Yield", "value": "0.9535", "value_date": "2025-03-31"}, {"Company_code": "7741 JP Equity", "update_date": "2026-01-13 19:33:57", "currency": "JPY", "indicator": "Last_Price", "value": "18740.0", "value_date": "2024-03-31"}, {"Company_code": "7741 JP Equity", "update_date": "2026-01-13 19:33:57", "currency": "JPY", "indicator": "Market_Cap", "value": "6576966.4128", "value_date": "2024-03-31"}, {"Company_code": "7741 JP Equity", "update_date": "2026-01-13 19:33:57", "currency": "JPY", "indicator": "Dividend_Yield", "value": "0.
2026-01-13 19:34:09,873 - app.clients.bloomberg_client - INFO - ✅ Parsed 30 items from remote.
2026-01-13 19:34:14,847 - app.clients.bloomberg_client - INFO - ✅ Saved 30 records to database.
2026-01-13 19:34:14,848 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=93, Msg=Finalizing data..., Progress=82%
2026-01-13 19:34:15,878 - app.clients.bloomberg_client - INFO - ✅ Cleanup and View Refresh completed.
2026-01-13 19:34:15,881 - app.clients.bloomberg_client - INFO - ✅ Completed processing for 7741 JP Equity
2026-01-13 19:34:15,881 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=93, Msg=Bloomberg data sync complete, Progress=90%
2026-01-13 19:34:16,122 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=93, Msg=Bloomberg 数据同步完成, Progress=100%
2026-01-13 19:34:53,406 - google_genai.models - INFO - AFC is enabled with max remote calls: 10.
2026-01-13 19:34:59,317 - httpx - INFO - HTTP Request: POST https://generativelanguage.googleapis.com/v1beta/models/gemini-3-flash-preview:streamGenerateContent?alt=sse "HTTP/1.1 200 OK"
2026-01-13 19:37:11,575 - google_genai.models - INFO - AFC is enabled with max remote calls: 10.
2026-01-13 19:37:16,120 - httpx - INFO - HTTP Request: POST https://generativelanguage.googleapis.com/v1beta/models/gemini-3-flash-preview:streamGenerateContent?alt=sse "HTTP/1.1 200 OK"
2026-01-13 19:39:08,494 - google_genai.models - INFO - AFC is enabled with max remote calls: 10.
2026-01-13 19:39:11,414 - httpx - INFO - HTTP Request: POST https://generativelanguage.googleapis.com/v1beta/models/gemini-3-flash-preview:streamGenerateContent?alt=sse "HTTP/1.1 200 OK"
2026-01-13 19:39:28,515 - app.main - INFO - 🔍 [搜索] 开始搜索股票: 爱尔康
2026-01-13 19:39:28,517 - app.main - INFO - 🤖 [搜索-LLM] 调用 gemini-2.5-flash 进行股票搜索
2026-01-13 19:39:28,518 - google_genai.models - INFO - AFC is enabled with max remote calls: 10.
2026-01-13 19:39:35,569 - httpx - INFO - HTTP Request: POST https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash:generateContent "HTTP/1.1 200 OK"
2026-01-13 19:39:35,576 - app.main - INFO - ✅ [搜索-LLM] 模型响应完成, 耗时: 7.06秒, Tokens: prompt=166, completion=72, total=238
2026-01-13 19:39:35,576 - app.main - INFO - ✅ [搜索] 搜索完成, 找到 1 个结果, 总耗时: 7.06秒
2026-01-13 19:39:41,162 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=94, Msg=正在初始化数据获取..., Progress=0%
2026-01-13 19:39:41,734 - app.clients.bloomberg_client - INFO - Connecting to Jupyter at http://192.168.3.161:8888...
2026-01-13 19:39:42,491 - app.clients.bloomberg_client - INFO - ✅ Authentication successful.
2026-01-13 19:39:42,516 - app.clients.bloomberg_client - INFO - ✅ Found existing kernel: bc27f3b1-b028-434a-99fa-c1cad4495a87 (remote_env)
2026-01-13 19:39:42,761 - app.clients.bloomberg_client - INFO - ✅ WebSocket connected.
2026-01-13 19:39:42,761 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=94, Msg=数据源连接成功, Progress=10%
2026-01-13 19:39:43,954 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=94, Msg=正在连接 Bloomberg 终端..., Progress=20%
2026-01-13 19:39:45,416 - app.clients.bloomberg_client - INFO - 🚀 Starting fetch for: ALC US Equity
2026-01-13 19:39:45,417 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=94, Msg=Starting Bloomberg session..., Progress=20%
2026-01-13 19:39:46,165 - app.clients.bloomberg_client - INFO - Using auto-detected currency: USD
2026-01-13 19:39:46,165 - app.clients.bloomberg_client - INFO - Fetching Basic Data...
2026-01-13 19:39:46,166 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=94, Msg=Fetching Company Basic Info..., Progress=27%
2026-01-13 19:39:48,993 - app.clients.bloomberg_client - INFO - REMOTE RAW OUTPUT: JSON_START
[{"Company_code": "ALC US Equity", "update_date": "2026-01-13 19:39:49", "currency": "USD", "indicator": "company_name", "value": "ALCON INC", "value_date": "2026-01-13 19:39:49"}, {"Company_code": "ALC US Equity", "update_date": "2026-01-13 19:39:49", "currency": "USD", "indicator": "pe_ratio", "value": "38.14150972186395", "value_date": "2026-01-13 19:39:49"}, {"Company_code": "ALC US Equity", "update_date": "2026-01-13 19:39:49", "currency": "USD", "indicator": "pb_ratio", "value": "1.7983533595854697", "value_date": "2026-01-13 19:39:49"}, {"Company_code": "ALC US Equity", "update_date": "2026-01-13 19:39:49", "currency": "USD", "indicator": "Rev_Abroad", "value": "99.20290586217334", "value_date": "2026-01-13 19:39:49"}, {"Company_code": "ALC US Equity", "update_date": "2026-01-13 19:39:49", "currency": "USD", "indicator": "dividend_yield", "value": "0.41175859416147403", "value_date": "2026-01-13 19:39:49"}, {"Company_code": "ALC US Equity", "update_date": "2026-01-13
2026-01-13 19:39:48,994 - app.clients.bloomberg_client - INFO - ✅ Parsed 6 items from remote.
2026-01-13 19:39:48,994 - app.clients.bloomberg_client - INFO - DEBUG: basic_data before save: [{'Company_code': 'ALC US Equity', 'update_date': '2026-01-13 19:39:49', 'currency': 'USD', 'indicator': 'company_name', 'value': 'ALCON INC', 'value_date': '2026-01-13 19:39:49'}, {'Company_code': 'ALC US Equity', 'update_date': '2026-01-13 19:39:49', 'currency': 'USD', 'indicator': 'pe_ratio', 'value': '38.14150972186395', 'value_date': '2026-01-13 19:39:49'}, {'Company_code': 'ALC US Equity', 'update_date': '2026-01-13 19:39:49', 'currency': 'USD', 'indicator': 'pb_ratio', 'value': '1.7983533595854697', 'value_date': '2026-01-13 19:39:49'}, {'Company_code': 'ALC US Equity', 'update_date': '2026-01-13 19:39:49', 'currency': 'USD', 'indicator': 'Rev_Abroad', 'value': '99.20290586217334', 'value_date': '2026-01-13 19:39:49'}, {'Company_code': 'ALC US Equity', 'update_date': '2026-01-13 19:39:49', 'currency': 'USD', 'indicator': 'dividend_yield', 'value': '0.41175859416147403', 'value_date': '2026-01-13 19:39:49'}, {'Company_code': 'ALC US Equity', 'update_date': '2026-01-13 19:39:49', 'currency': 'USD', 'indicator': 'market_cap', 'value': '40405.742', 'value_date': '2026-01-13 19:39:49'}]
2026-01-13 19:39:52,098 - app.clients.bloomberg_client - INFO - ✅ Saved 6 records to database.
2026-01-13 19:39:52,101 - app.clients.bloomberg_client - INFO - Fetching Currency Data...
2026-01-13 19:39:52,102 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=94, Msg=正在获取货币指标 (USD)..., Progress=41%
2026-01-13 19:39:54,081 - app.clients.bloomberg_client - INFO - REMOTE RAW OUTPUT: JSON_START
[{"Company_code": "ALC US Equity", "update_date": "2026-01-13 19:39:52", "currency": "USD", "indicator": "Revenue", "value": "6596.0", "value_date": "2016-12-31"}, {"Company_code": "ALC US Equity", "update_date": "2026-01-13 19:39:52", "currency": "USD", "indicator": "Net_Income", "value": "-170.0", "value_date": "2016-12-31"}, {"Company_code": "ALC US Equity", "update_date": "2026-01-13 19:39:52", "currency": "USD", "indicator": "Cash_From_Operating", "value": "1245.0", "value_date": "2016-12-31"}, {"Company_code": "ALC US Equity", "update_date": "2026-01-13 19:39:52", "currency": "USD", "indicator": "Capital_Expenditure", "value": "-476.0", "value_date": "2016-12-31"}, {"Company_code": "ALC US Equity", "update_date": "2026-01-13 19:39:52", "currency": "USD", "indicator": "Free_Cash_Flow", "value": "769.0", "value_date": "2016-12-31"}, {"Company_code": "ALC US Equity", "update_date": "2026-01-13 19:39:52", "currency": "USD", "indicator": "Dividends_Paid", "value": "0.0", "v
2026-01-13 19:39:54,082 - app.clients.bloomberg_client - INFO - ✅ Parsed 194 items from remote.
2026-01-13 19:40:15,455 - app.clients.bloomberg_client - INFO - ✅ Saved 194 records to database.
2026-01-13 19:40:15,457 - app.clients.bloomberg_client - INFO - Fetching Non-Currency Data...
2026-01-13 19:40:15,457 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=94, Msg=正在获取非货币指标..., Progress=55%
2026-01-13 19:40:17,637 - app.clients.bloomberg_client - INFO - REMOTE RAW OUTPUT: JSON_START
[{"Company_code": "ALC US Equity", "update_date": "2026-01-13 19:40:16", "currency": "USD", "indicator": "Gross_Margin", "value": "47.1649", "value_date": "2016-12-31"}, {"Company_code": "ALC US Equity", "update_date": "2026-01-13 19:40:16", "currency": "USD", "indicator": "EBITDA_margin", "value": "19.6938", "value_date": "2016-12-31"}, {"Company_code": "ALC US Equity", "update_date": "2026-01-13 19:40:16", "currency": "USD", "indicator": "Net_Profit_Margin", "value": "-2.5773", "value_date": "2016-12-31"}, {"Company_code": "ALC US Equity", "update_date": "2026-01-13 19:40:16", "currency": "USD", "indicator": "Tax_Rate", "value": "0.1792", "value_date": "2016-12-31"}, {"Company_code": "ALC US Equity", "update_date": "2026-01-13 19:40:16", "currency": "USD", "indicator": "Gross_Margin", "value": "47.1731", "value_date": "2017-12-31"}, {"Company_code": "ALC US Equity", "update_date": "2026-01-13 19:40:16", "currency": "USD", "indicator": "EBITDA_margin", "value": "18.5071", "
2026-01-13 19:40:17,638 - app.clients.bloomberg_client - INFO - ✅ Parsed 123 items from remote.
2026-01-13 19:40:29,712 - app.clients.bloomberg_client - INFO - ✅ Saved 123 records to database.
2026-01-13 19:40:29,713 - app.clients.bloomberg_client - INFO - Fetching Price Data (Aligned)...
2026-01-13 19:40:29,713 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=94, Msg=正在获取价格指标..., Progress=69%
2026-01-13 19:40:30,589 - app.clients.bloomberg_client - INFO - Found 9 revenue reporting dates. Fetching aligned price data...
2026-01-13 19:40:41,551 - app.clients.bloomberg_client - INFO - REMOTE RAW OUTPUT: JSON_START
[{"Company_code": "ALC US Equity", "update_date": "2026-01-13 19:40:30", "currency": "USD", "indicator": "Last_Price", "value": "84.89", "value_date": "2024-12-31"}, {"Company_code": "ALC US Equity", "update_date": "2026-01-13 19:40:30", "currency": "USD", "indicator": "Market_Cap", "value": "42419.533", "value_date": "2024-12-31"}, {"Company_code": "ALC US Equity", "update_date": "2026-01-13 19:40:30", "currency": "USD", "indicator": "Dividend_Yield", "value": "0.3118", "value_date": "2024-12-31"}, {"Company_code": "ALC US Equity", "update_date": "2026-01-13 19:40:30", "currency": "USD", "indicator": "Last_Price", "value": "78.12", "value_date": "2023-12-31"}, {"Company_code": "ALC US Equity", "update_date": "2026-01-13 19:40:30", "currency": "USD", "indicator": "Market_Cap", "value": "39036.564", "value_date": "2023-12-31"}, {"Company_code": "ALC US Equity", "update_date": "2026-01-13 19:40:30", "currency": "USD", "indicator": "Dividend_Yield", "value": "0.3018", "value_da
2026-01-13 19:40:41,553 - app.clients.bloomberg_client - INFO - ✅ Parsed 16 items from remote.
2026-01-13 19:40:43,095 - app.clients.bloomberg_client - INFO - ✅ Saved 16 records to database.
2026-01-13 19:40:43,096 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=94, Msg=Finalizing data..., Progress=82%
2026-01-13 19:40:44,353 - app.clients.bloomberg_client - INFO - ✅ Cleanup and View Refresh completed.
2026-01-13 19:40:44,354 - app.clients.bloomberg_client - INFO - ✅ Completed processing for ALC US Equity
2026-01-13 19:40:44,354 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=94, Msg=Bloomberg data sync complete, Progress=90%
2026-01-13 19:40:45,530 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=94, Msg=Bloomberg 数据同步完成, Progress=100%
2026-01-13 20:01:59,302 - google_genai.models - INFO - AFC is enabled with max remote calls: 10.
2026-01-13 20:02:05,051 - httpx - INFO - HTTP Request: POST https://generativelanguage.googleapis.com/v1beta/models/gemini-3-flash-preview:streamGenerateContent?alt=sse "HTTP/1.1 200 OK"
2026-01-13 20:03:07,139 - google_genai.models - INFO - AFC is enabled with max remote calls: 10.
2026-01-13 20:03:11,729 - httpx - INFO - HTTP Request: POST https://generativelanguage.googleapis.com/v1beta/models/gemini-3-flash-preview:streamGenerateContent?alt=sse "HTTP/1.1 200 OK"
2026-01-13 20:04:56,927 - google_genai.models - INFO - AFC is enabled with max remote calls: 10.
2026-01-13 20:05:03,581 - httpx - INFO - HTTP Request: POST https://generativelanguage.googleapis.com/v1beta/models/gemini-3-flash-preview:streamGenerateContent?alt=sse "HTTP/1.1 200 OK"
2026-01-13 20:23:36,883 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=95, Msg=正在初始化数据获取..., Progress=0%
2026-01-13 20:23:37,463 - app.services.data_fetcher_service - INFO - 📝 [数据获取] 股票代码格式化: 688029 -> 688029.SH
2026-01-13 20:23:37,463 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=95, Msg=数据获取失败: Data source 'Tushare' not supported in backend., Progress=0%
2026-01-13 20:23:50,636 - app.main - INFO - 🔍 [搜索] 开始搜索股票: 南微医学
2026-01-13 20:23:50,644 - app.main - INFO - 🤖 [搜索-LLM] 调用 gemini-3-flash-preview 进行股票搜索
2026-01-13 20:23:50,655 - google_genai.models - INFO - AFC is enabled with max remote calls: 10.
2026-01-13 20:23:56,156 - httpx - INFO - HTTP Request: POST https://generativelanguage.googleapis.com/v1beta/models/gemini-3-flash-preview:generateContent "HTTP/1.1 200 OK"
2026-01-13 20:23:56,178 - app.main - INFO - ✅ [搜索-LLM] 模型响应完成, 耗时: 5.53秒, Tokens: prompt=304, completion=29, total=333
2026-01-13 20:23:56,179 - app.main - INFO - ✅ [搜索] 搜索完成, 找到 1 个结果, 总耗时: 5.54秒
2026-01-13 20:24:08,551 - app.services.bloomberg_service - WARNING - No Bloomberg data found for symbol: 688029
2026-01-13 20:24:08,898 - app.services.bloomberg_service - WARNING - No Bloomberg data found for symbol: 688029
2026-01-13 20:24:11,878 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=96, Msg=正在初始化数据获取..., Progress=0%
2026-01-13 20:24:12,303 - app.clients.bloomberg_client - INFO - Connecting to Jupyter at http://192.168.3.161:8888...
2026-01-13 20:24:12,656 - app.clients.bloomberg_client - INFO - ✅ Authentication successful.
2026-01-13 20:24:12,681 - app.clients.bloomberg_client - INFO - ✅ Found existing kernel: bc27f3b1-b028-434a-99fa-c1cad4495a87 (remote_env)
2026-01-13 20:24:13,733 - app.clients.bloomberg_client - INFO - ✅ WebSocket connected.
2026-01-13 20:24:13,733 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=96, Msg=数据源连接成功, Progress=10%
2026-01-13 20:24:16,282 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=96, Msg=正在连接 Bloomberg 终端..., Progress=20%
2026-01-13 20:24:17,574 - app.clients.bloomberg_client - INFO - 🚀 Starting fetch for: 688029 CH Equity
2026-01-13 20:24:17,575 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=96, Msg=Starting Bloomberg session..., Progress=20%
2026-01-13 20:24:19,299 - app.clients.bloomberg_client - INFO - Using auto-detected currency: CNY
2026-01-13 20:24:19,299 - app.clients.bloomberg_client - INFO - Fetching Basic Data...
2026-01-13 20:24:19,299 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=96, Msg=Fetching Company Basic Info..., Progress=27%
2026-01-13 20:24:21,477 - app.clients.bloomberg_client - INFO - REMOTE RAW OUTPUT: JSON_START
[{"Company_code": "688029 CH Equity", "update_date": "2026-01-13 20:24:22", "currency": "CNY", "indicator": "company_name", "value": "MICRO-TECH NANJING CO LTD-A", "value_date": "2026-01-13 20:24:22"}, {"Company_code": "688029 CH Equity", "update_date": "2026-01-13 20:24:22", "currency": "CNY", "indicator": "pe_ratio", "value": "27.159974278374918", "value_date": "2026-01-13 20:24:22"}, {"Company_code": "688029 CH Equity", "update_date": "2026-01-13 20:24:22", "currency": "CNY", "indicator": "pb_ratio", "value": "4.086370642415248", "value_date": "2026-01-13 20:24:22"}, {"Company_code": "688029 CH Equity", "update_date": "2026-01-13 20:24:22", "currency": "CNY", "indicator": "Rev_Abroad", "value": "49.85044271634609", "value_date": "2026-01-13 20:24:22"}, {"Company_code": "688029 CH Equity", "update_date": "2026-01-13 20:24:22", "currency": "CNY", "indicator": "dividend_yield", "value": "1.693384511176338", "value_date": "2026-01-13 20:24:22"}, {"Company_code": "688029 CH Eq
2026-01-13 20:24:21,477 - app.clients.bloomberg_client - INFO - ✅ Parsed 7 items from remote.
2026-01-13 20:24:21,478 - app.clients.bloomberg_client - INFO - DEBUG: basic_data before save: [{'Company_code': '688029 CH Equity', 'update_date': '2026-01-13 20:24:22', 'currency': 'CNY', 'indicator': 'company_name', 'value': 'MICRO-TECH NANJING CO LTD-A', 'value_date': '2026-01-13 20:24:22'}, {'Company_code': '688029 CH Equity', 'update_date': '2026-01-13 20:24:22', 'currency': 'CNY', 'indicator': 'pe_ratio', 'value': '27.159974278374918', 'value_date': '2026-01-13 20:24:22'}, {'Company_code': '688029 CH Equity', 'update_date': '2026-01-13 20:24:22', 'currency': 'CNY', 'indicator': 'pb_ratio', 'value': '4.086370642415248', 'value_date': '2026-01-13 20:24:22'}, {'Company_code': '688029 CH Equity', 'update_date': '2026-01-13 20:24:22', 'currency': 'CNY', 'indicator': 'Rev_Abroad', 'value': '49.85044271634609', 'value_date': '2026-01-13 20:24:22'}, {'Company_code': '688029 CH Equity', 'update_date': '2026-01-13 20:24:22', 'currency': 'CNY', 'indicator': 'dividend_yield', 'value': '1.693384511176338', 'value_date': '2026-01-13 20:24:22'}, {'Company_code': '688029 CH Equity', 'update_date': '2026-01-13 20:24:22', 'currency': 'CNY', 'indicator': 'IPO_date', 'value': '2019-07-22', 'value_date': '2026-01-13 20:24:22'}, {'Company_code': '688029 CH Equity', 'update_date': '2026-01-13 20:24:22', 'currency': 'CNY', 'indicator': 'market_cap', 'value': '16639.525', 'value_date': '2026-01-13 20:24:22'}]
2026-01-13 20:24:23,015 - app.clients.bloomberg_client - INFO - ✅ Saved 7 records to database.
2026-01-13 20:24:23,016 - app.clients.bloomberg_client - INFO - Fetching Currency Data...
2026-01-13 20:24:23,016 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=96, Msg=正在获取货币指标 (CNY)..., Progress=41%
2026-01-13 20:24:24,452 - app.clients.bloomberg_client - INFO - REMOTE RAW OUTPUT: JSON_START
[{"Company_code": "688029 CH Equity", "update_date": "2026-01-13 20:24:23", "currency": "CNY", "indicator": "Revenue", "value": "414.3097", "value_date": "2016-12-31"}, {"Company_code": "688029 CH Equity", "update_date": "2026-01-13 20:24:23", "currency": "CNY", "indicator": "Net_Income", "value": "-36.4541", "value_date": "2016-12-31"}, {"Company_code": "688029 CH Equity", "update_date": "2026-01-13 20:24:23", "currency": "CNY", "indicator": "Cash_From_Operating", "value": "59.337", "value_date": "2016-12-31"}, {"Company_code": "688029 CH Equity", "update_date": "2026-01-13 20:24:23", "currency": "CNY", "indicator": "Capital_Expenditure", "value": "-35.8324", "value_date": "2016-12-31"}, {"Company_code": "688029 CH Equity", "update_date": "2026-01-13 20:24:23", "currency": "CNY", "indicator": "Free_Cash_Flow", "value": "23.5046", "value_date": "2016-12-31"}, {"Company_code": "688029 CH Equity", "update_date": "2026-01-13 20:24:23", "currency": "CNY", "indicator": "Dividends
2026-01-13 20:24:24,453 - app.clients.bloomberg_client - INFO - ✅ Parsed 222 items from remote.
2026-01-13 20:24:45,100 - app.clients.bloomberg_client - INFO - ✅ Saved 222 records to database.
2026-01-13 20:24:45,102 - app.clients.bloomberg_client - INFO - Fetching Non-Currency Data...
2026-01-13 20:24:45,102 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=96, Msg=正在获取非货币指标..., Progress=55%
2026-01-13 20:24:46,409 - app.clients.bloomberg_client - INFO - REMOTE RAW OUTPUT: JSON_START
[{"Company_code": "688029 CH Equity", "update_date": "2026-01-13 20:24:45", "currency": "CNY", "indicator": "ROE", "value": "-11.7949", "value_date": "2016-12-31"}, {"Company_code": "688029 CH Equity", "update_date": "2026-01-13 20:24:45", "currency": "CNY", "indicator": "ROA", "value": "-7.2528", "value_date": "2016-12-31"}, {"Company_code": "688029 CH Equity", "update_date": "2026-01-13 20:24:45", "currency": "CNY", "indicator": "Gross_Margin", "value": "57.2046", "value_date": "2016-12-31"}, {"Company_code": "688029 CH Equity", "update_date": "2026-01-13 20:24:45", "currency": "CNY", "indicator": "EBITDA_margin", "value": "-2.426", "value_date": "2016-12-31"}, {"Company_code": "688029 CH Equity", "update_date": "2026-01-13 20:24:45", "currency": "CNY", "indicator": "Net_Profit_Margin", "value": "-8.7988", "value_date": "2016-12-31"}, {"Company_code": "688029 CH Equity", "update_date": "2026-01-13 20:24:45", "currency": "CNY", "indicator": "Tax_Rate", "value": "0.15", "val
2026-01-13 20:24:46,410 - app.clients.bloomberg_client - INFO - ✅ Parsed 163 items from remote.
2026-01-13 20:25:05,444 - app.clients.bloomberg_client - INFO - ✅ Saved 163 records to database.
2026-01-13 20:25:05,456 - app.clients.bloomberg_client - INFO - Fetching Price Data (Aligned)...
2026-01-13 20:25:05,456 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=96, Msg=正在获取价格指标..., Progress=69%
2026-01-13 20:25:06,884 - app.clients.bloomberg_client - INFO - Found 9 revenue reporting dates. Fetching aligned price data...
2026-01-13 20:25:17,623 - app.clients.bloomberg_client - INFO - REMOTE RAW OUTPUT: JSON_START
[{"Company_code": "688029 CH Equity", "update_date": "2026-01-13 20:25:06", "currency": "CNY", "indicator": "Last_Price", "value": "67.59", "value_date": "2024-12-31"}, {"Company_code": "688029 CH Equity", "update_date": "2026-01-13 20:25:06", "currency": "CNY", "indicator": "Market_Cap", "value": "12696.6073", "value_date": "2024-12-31"}, {"Company_code": "688029 CH Equity", "update_date": "2026-01-13 20:25:06", "currency": "CNY", "indicator": "Dividend_Yield", "value": "2.2193", "value_date": "2024-12-31"}, {"Company_code": "688029 CH Equity", "update_date": "2026-01-13 20:25:06", "currency": "CNY", "indicator": "Last_Price", "value": "96.8", "value_date": "2023-12-31"}, {"Company_code": "688029 CH Equity", "update_date": "2026-01-13 20:25:06", "currency": "CNY", "indicator": "Market_Cap", "value": "18183.6304", "value_date": "2023-12-31"}, {"Company_code": "688029 CH Equity", "update_date": "2026-01-13 20:25:06", "currency": "CNY", "indicator": "Dividend_Yield", "value":
2026-01-13 20:25:17,624 - app.clients.bloomberg_client - INFO - ✅ Parsed 17 items from remote.
2026-01-13 20:25:22,020 - app.clients.bloomberg_client - INFO - ✅ Saved 17 records to database.
2026-01-13 20:25:22,026 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=96, Msg=Finalizing data..., Progress=82%
2026-01-13 20:25:24,501 - app.clients.bloomberg_client - INFO - ✅ Cleanup and View Refresh completed.
2026-01-13 20:25:24,502 - app.clients.bloomberg_client - INFO - ✅ Completed processing for 688029 CH Equity
2026-01-13 20:25:24,502 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=96, Msg=Bloomberg data sync complete, Progress=90%
2026-01-13 20:25:25,959 - app.services.data_fetcher_service - INFO - 🔄 [进度更新] ID=96, Msg=Bloomberg 数据同步完成, Progress=100%
2026-01-13 20:26:45,348 - google_genai.models - INFO - AFC is enabled with max remote calls: 10.
2026-01-13 20:26:52,042 - httpx - INFO - HTTP Request: POST https://generativelanguage.googleapis.com/v1beta/models/gemini-3-flash-preview:streamGenerateContent?alt=sse "HTTP/1.1 200 OK"
2026-01-13 20:27:39,016 - google_genai.models - INFO - AFC is enabled with max remote calls: 10.
2026-01-13 20:27:46,782 - httpx - INFO - HTTP Request: POST https://generativelanguage.googleapis.com/v1beta/models/gemini-3-flash-preview:streamGenerateContent?alt=sse "HTTP/1.1 200 OK"
2026-01-13 20:28:32,248 - google_genai.models - INFO - AFC is enabled with max remote calls: 10.
2026-01-13 20:28:39,401 - httpx - INFO - HTTP Request: POST https://generativelanguage.googleapis.com/v1beta/models/gemini-3-flash-preview:streamGenerateContent?alt=sse "HTTP/1.1 200 OK"