....
This commit is contained in:
@@ -7,6 +7,7 @@ import analyzer.FinancialAnalyzer
|
||||
import analyzer.FinancialMapper
|
||||
import analyzer.FinancialStatement
|
||||
import analyzer.InvestmentScores
|
||||
import analyzer.ScalpingSignalModel
|
||||
import analyzer.TechnicalAnalyzer
|
||||
import dev.langchain4j.community.rag.content.retriever.lucene.LuceneEmbeddingStore
|
||||
import dev.langchain4j.data.document.Metadata
|
||||
@@ -248,9 +249,9 @@ object RagService {
|
||||
val techStartTime = System.currentTimeMillis()
|
||||
val financialScore = FinancialAnalyzer.calculateScore(financialStmt)
|
||||
val scores = technicalAnalyzer.calculateScores(financialScore)
|
||||
val techSignal = technicalAnalyzer.generateComprehensiveSignal()
|
||||
tradingDecision.signalModel = technicalAnalyzer.generateComprehensiveSignal()
|
||||
val techDuration = System.currentTimeMillis() - techStartTime
|
||||
println("techSignal.compositeScore ${techSignal.compositeScore}")
|
||||
println("techSignal.compositeScore ${tradingDecision.signalModel}")
|
||||
|
||||
if (!FinancialAnalyzer.isSafetyBeltMet(financialStmt)) {
|
||||
logTime(stockName, "재무 미달 조기 종료", finDuration, System.currentTimeMillis() - totalStartTime)
|
||||
@@ -258,7 +259,7 @@ object RagService {
|
||||
return@coroutineScope
|
||||
}
|
||||
|
||||
if (techSignal.compositeScore < 50) {
|
||||
if ((tradingDecision.signalModel?.compositeScore ?: 0) < 50) {
|
||||
logTime(stockName, "기술 점수 미달 조기 종료", techDuration, System.currentTimeMillis() - totalStartTime)
|
||||
result(tradingDecision.apply { decision = "HOLD"; reason = "매수 타점 미도달" }, false)
|
||||
return@coroutineScope
|
||||
@@ -282,7 +283,9 @@ object RagService {
|
||||
)
|
||||
|
||||
// 3. 검색된 내용을 하나의 문자열로 합쳐서 전달
|
||||
tradingDecision.newsContext = finalSearchResult.matches().joinToString("\n\n") {
|
||||
tradingDecision.newsContext = finalSearchResult.matches().distinct() // 중복 제거
|
||||
.take(4) // 10개에서 4개로 축소
|
||||
.joinToString("\n\n") {
|
||||
it.embedded().text()
|
||||
}
|
||||
|
||||
@@ -431,8 +434,7 @@ object RagService {
|
||||
|
||||
// 1-2. 기술 분석 및 리포트 생성 시간 측정
|
||||
val techStartTime = System.currentTimeMillis()
|
||||
val techSignal = tempDecision.analyzer?.generateComprehensiveSignal()
|
||||
val techScore100 = techSignal?.compositeScore?.toDouble() ?: 0.0
|
||||
val techScore100 = tempDecision.signalModel?.compositeScore?.toDouble() ?: 0.0
|
||||
val isOverheated = tempDecision.analyzer?.isOverheatedStock() ?: false
|
||||
tempDecision.techSummary = tempDecision.analyzer?.generateComprehensiveReport(finScore100.toInt())
|
||||
val techDuration = System.currentTimeMillis() - techStartTime
|
||||
@@ -611,6 +613,7 @@ class TradingDecision {
|
||||
var newsContext : String? = null
|
||||
var financialData : String? = null
|
||||
var analyzer : TechnicalAnalyzer? = null
|
||||
var signalModel : ScalpingSignalModel? = null
|
||||
|
||||
fun shortPossible() =
|
||||
listOf<Double>(ultraShortScore,
|
||||
|
||||
Reference in New Issue
Block a user