--- title: portfolio app_file: web_client.py sdk: gradio sdk_version: 6.10.0 --- # Portfolio ``` conda create -n portfolio python=3.12 conda activate portfolio pip install -r requirements.txt ``` ## Usage ``` python similar_investors.py python investment_company.py python stock_price.py python stock_news.py python industry_info.py python theme_info.py python portfolio.py ``` ### Similar Investors ``` usage: similar_investors.py [-h] [--input INPUT] [--region REGION] [--ko_data DATA] [--us_data DATA] [--output OUTPUT] [--top TOP] 사용자와 유사한 투자회사 검색 도구 (주식수/금액비중 기준) options: -h, --help show this help message and exit --input INPUT 입력 CSV 파일 (default: user.csv) --region REGION 지역 선택: ko(한국) 또는 us(미국) (required: ['ko', 'us']) --ko_data DATA 데이터 CSV 파일 (default: /work/portfolio/data/ETF.csv) --us_data DATA 데이터 CSV 파일 (default: /work/portfolio/data/SEC_Filing_Manager.csv) --output OUTPUT 통합 JSON 파일 (default: output.json) --top TOP 상위 N개 항목 (default: 5) ``` ### Investment Company ``` usage: investment_company.py [-h] [--input INPUT] [--data DATA] [--output OUTPUT] [--top TOP] 사용자와 유사한 투자회사 정보 - 검색 및 생성 도구 options: -h, --help show this help message and exit --name NAME 투자회사 이름 입력 (default: --name "CAPITAL WORLD INVESTORS" "GEODE CAPITAL MANAGEMENT, LLC" "NORGES BANK") --data DATA 데이터 저장 JSONL 파일 (default: /data/investment_company.jsonl) --output OUTPUT 통합 JSON 파일 (default: output.json) ``` ### Stock Price ``` usage: stock_price.py [-h] [--stock STOCK] [--data DATA] [--output OUTPUT] 주가 CSV/JSON 생성 도구 options: -h, --help show this help message and exit --stock STOCK 콤마 구분 가능 티커 (e.g., META,NVDA,005930,000660) (default: META) --data DATA CSV 저장 폴더 (default: data_stock_price/) --output OUTPUT 통합 JSON 파일 (default: output.json) ``` ### Stock News ``` usage: stock_news.py [-h] [--stock STOCK] [--data DATA] [--output OUTPUT] [--period PERIOD] 기업 뉴스 크롤러 options: -h, --help show this help message and exit --stock STOCK 기업 티커 1개 (e.g., NVDA / 005930) (default: META) --data DATA CSV 저장 폴더 (default: data_stock_news) --output OUTPUT 통합 JSON 파일 (default: output.json) --period PERIOD 크롤링 일수 (default: 30) ``` ### Industry Info ``` usage: industry_info.py [-h] [--stock STOCK [STOCK ...]] [--data DATA] [--output OUTPUT] 종목의 산업군/섹터 검색 도구 options: -h, --help show this help message and exit --stock STOCK [STOCK ...] 종목 입력. 여러 개는 , 로 구분 (default: Meta) --data DATA CSV 데이터 파일 (default: /work/portfolio/data/industry_info.csv) --output OUTPUT 통합 JSON 파일 (default: output.json) ``` ### Theme Info ``` usage: theme_info.py [-h] [--stock STOCK [STOCK ...]] [--data DATA] [--output OUTPUT] 종목의 테마 검색 도구 options: -h, --help show this help message and exit --stock STOCK [STOCK ...] 종목 입력. 여러 개는 공백 또는 콤마(,) 로 구분 가능 (default: Meta) --data DATA CSV 데이터 파일 (default: /work/portfolio/data/theme_info.csv) --output OUTPUT 통합 JSON 파일 (default: output.json) ``` ### Portfolio ``` usage: portfolio.py [-h] [--user-name USER_NAME] [--csv-path CSV_PATH] [--json-path JSON_PATH] [--output-path OUTPUT_PATH] 포트폴리오 기반 투자 리포트 생성 도구 options: -h, --help show this help message and exit --user-name USER_NAME 사용자 이름 (default: 이서준) --csv-path CSV_PATH 사용자 포트폴리오 CSV 파일 경로 (default: used_user.csv) --json-path JSON_PATH 분석에 사용할 JSON 파일 경로 (default: output.json) --output-path OUTPUT_PATH 생성된 리포트 출력 경로 (default: report.txt) ``` ## Input Data - File: output.json - Schema: ``` { "similar_investors": [ // 투자자 포트폴리오 정보 { "ID": "37833100", // 식별자 "NAME": "LAZARI CAPITAL MANAGEMENT, INC.", // 투자자 이름 "COMPANY": "APPLE INC", // 투자 대상 기업 이름 "VALUE": 33972687.0, // 보유 주식의 시장 가치 "AMOUNT": 165583, // 보유 주식 수량 "PERCENTAGE": 12.8 // 포트폴리오 내 비중 (수량 %) } ], "investment_company": { // similar_investors 에 관한 세부 정보 "LAZARI CAPITAL MANAGEMENT, INC.": "---\n\n# [LAZARI CAPITAL MANAGEMENT, INC. 소개\n\n## 개요\n\n**LAZARI CAPITAL MANAGEMENT, INC.**에 대한 공식적이고 객관적인 설명을 제공하려면 금융감독원 전자공시시스템(DART), 공식 기업 홈페이지 또는 investing.com 등 공개된 신뢰 가능한 출처의 최신 자료 확인이 필요합니다. 현재 저는 외부 사이트를 직접 조회할 수 없어, 해당 출처에서 검증된 사실을 확인하지 못한 상태입니다. 정확한 위치(본사 주소), 설립연도, 주요 사업 범위(자산관리·투자운용 등)는 공식 문서를 통해 확인해야 합니다.\n\n---\n\n## 주요 서비스\n\n- **자산 관리(Wealth Management)**\n - 맞춤형 포트폴리오 설계 및 관리\n - 인생 주기 및 금융 목표에 따른 자산 분배 전략 제공\n\n- **투자 운용(Investment Management)**\n - 주식, 채권, 대체 투자 등 다양한 자산군에 대한 직접 운용\n - 위험 관리와 장기 성과에 초점을 맞춘 운용 철학\n\n- **재무 계획(Financial Planning)**\n - 은퇴 계획, 교육 자금, 세금 전략, 유산 관리 등 포괄적 재무 자문 서비스\n - 고객 개개인에 특화된 재무 솔루션 제안\n\n(위 서비스 항목은 일반적인 자산운용사/자산관리회사의 서비스 항목 예시이며, LAZARI CAPITAL MANAGEMENT, INC.의 구체적 제공 서비스는 공식 출처 확인이 필요합니다.)\n\n---\n\n## 특징 및 강점\n\n- **피듀셔리(fiduciary) 신의성실 의무**: 고객의 이익을 최우선으로 하는 피듀셔리 원칙 기반의 서비스 제공 여부는 공식 문서에서 확인 필요\n- **글로벌 투자 경험**: 미국 및 세계 시장에 대한 네트워크 보유 여부는 공개 자료 확인 필요\n- **투명성**: 운용 과정 및 수수료 구조의 공개 수준은 회사 공시·약관에서 확인 필요\n- **혁신적인 투자 접근법**: 회사가 주장하는 운용 전략 및 혁신 사례는 공식 자료 근거로 확인 필요\n\n(위 특징은 자산운용사에 일반적으로 적용되는 항목을 나열한 것이며, LAZARI CAPITAL MANAGEMENT, INC.의 실제 특징 및 강점은 공식 출처에서 확인하셔야 합니다.)\n\n## 기업의 경쟁력과 미래 가치\n- **사업의 내용 (Business Model)**: 이 회사가 어떤 상품과 서비스를 누구에게 판매하여 수익을 창출하는지에 관한 구체적 내용은 공시자료 및 회사 소개문서 확인 필요\n- **산업 분석**: 해당 기업이 속한 자산관리·투자운용 산업의 동향, 성장성, 경쟁 환경 및 회사의 시장 내 위치(시장 점유율 등)는 공시·산업보고서 기반 분석 필요\n- **경영진**: 대표이사 및 핵심 경영진의 이력과 주요 결정사항은 회사 공시·웹사이트의 임원 소개에서 확인 가능\n- **지배구조**: 최대주주 및 주요 주주 구성, 지배구조 관련 리스크는 정식 공시자료(예: 주주명부, 보고서) 확인 필요\n- **웹사이트**: 공식 웹사이트 주소는 회사 공식 문서 또는 검색을 통해 확인해야 합니다.\n\n## 정보요약\n- 한 줄 요약: LAZARI CAPITAL MANAGEMENT, INC.에 관한 공식적이고 객관적인 정보 제공을 위해서는 DART, 공식 홈페이지, investing.com 등 신뢰 가능한 출처의 확인이 필요합니다.\n\n---\n\n요청하신 기업에 대해 공식 출처를 기반으로 한 상세한 설명을 제공해드릴 수 있습니다. 원하시면 제가 외부 웹페이지를 확인해도 되는지 허용하시거나(직접 확인 기능이 필요한 경우), 회사의 공식 문서(URL 또는 공시자료 사본)를 제공해 주시면 해당 자료를 바탕으로 요청하신 형식에 맞춰 객관적이고 출처 근거가 명시된 보고서를 작성해 드리겠습니다." } "stock_price": { // 종목별 주가 데이터 객체 "META": [ // 'META' 종목의 일별 주가 데이터 { "Date": "2025-10-20", // 날짜 "Name": "Meta Platforms", // 기업 이름 "Open": 721.2, // 시가 "High": 733.8, // 고가 "Low": 720.2, // 저가 "Close": 732.2, // 종가 "Volume": 8900200 // 거래량 } ] }, "stock_news": { // 종목별 뉴스 기사 객체 "META": [ // 'META' 종목 { "Name": "Meta Platforms", // 기업 이름 "date": "2025-11-20", // 뉴스 날짜 "time": "08:37", // 뉴스 시간 "news": "딥러닝 거장 얀 르쿤, Meta Platforms 떠나 AI 스타트업 설립 선언\n“오늘날 AI는..." // 뉴스 기사 내용 } ] }, "industry_info": [ // 산업 및 섹터 정보 { "stock": "Meta", // 종목 코드/이름 "description": "Industry: Internet Content & Information | Sector: Communication Services" // 산업 및 섹터 정보 } ], "theme_info": [ // 테마 정보 { "stock": "Meta", // 종목 코드/이름 "desc": "Theme: Artificial Intelligence | Theme 2: \"Social Media\" | Theme 3: \"Virtual Reality\"" // 관련 테마 정보 } ] } ``` ## Output - File: report.txt - Schema: ``` # 이서준 님의 투자 성향 기반 분석 리포트 ## 이서준 님의 투자 현황 ## 이서준 님의 투자 성향 분석 요약 ## 전문가 투자 전략에서 도움얻기 ## 종목별 상세 분석 ## 투자 차별성 ## 상황 및 전략 ```