Multimodal system and method for financial market forecasting using hierarchical aggregation

The HierAggFin system addresses the limitations of conventional methods by integrating hierarchical news aggregation, relevance-weighted news, and adaptive modality fusion to enhance financial asset price forecasting accuracy and adaptability.

JP7812531B2Active Publication Date: 2026-02-10NYU-YO-KU ZENERAL GURU-PU INKU
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
JP2025046388
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2025-03-21
Publication Date
2026-02-10
Estimated Expiration
2045-03-21

AI Technical Summary

Technical Problem

Conventional financial asset price forecasting methods fail to effectively capture the impact of news across different time scales, do not consider news relevance, lack sector-level correlations, and do not dynamically adjust modality importance based on market conditions, leading to suboptimal prediction accuracy.

Method used

A multimodal system called HierAggFin that incorporates hierarchical temporal news aggregation, relevance-weighted news aggregation, sector-level correlation integration, and adaptive modality fusion to integrate time-series and news data, dynamically adjusting weights based on market conditions.

Benefits of technology

Significantly improves forecast accuracy by reducing mean absolute percentage error by over 50%, enhances direction prediction accuracy, maintains adaptability under changing market conditions, and provides transparent and interpretable predictions.

✦ Generated by Eureka AI based on patent content.
Patent Text Reader

Abstract

To provide a multimodal system and method that improve the precision of a financial asset price prediction.SOLUTION: A multimodal system includes: a first processing unit for processing time-series data; a second processing unit for processing news data; and an integrating unit for integrating the output by the first processing unit with the output by the second processing unit. The second processing unit includes: a hierarchical time news aggregating mechanism that aggregates news data at a plurality of different time windows; and a relevancy weighting news collecting mechanism that performs weighting based on the relevancy of news. The integrating unit includes: a sector-level correlation integrating mechanism for adjusting a prediction based on a correlation in a sector level; and an adaptive modality fusing mechanism for dynamically adjusting the weighting of each modality in accordance with a market situation. Accordingly, the time-series data and the news data are efficiently integrated with each other, and thus a highly precise asset price prediction is accomplished.SELECTED DRAWING: None
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates to an artificial intelligence system for financial asset price forecasting, and in particular to improving forecast accuracy through a multimodal approach that combines time-series data and text data. More specifically, the present invention relates to a financial asset price forecasting system and method that combines hierarchical news aggregation using multiple time windows, news relevance weighting, sector-level correlation integration, and adaptive modality fusion according to market conditions. [Background technology]

[0002] Predicting asset prices in financial markets is an important challenge for investors, traders, fund managers, and financial institutions. Accurate price predictions enable strategic planning, optimal investment portfolio management, and risk assessment. For this reason, the development of more accurate forecasting models has always been of great interest in the financial industry.

[0003] Traditional asset price forecasting methods primarily rely on numerical data such as price time series, trading volumes, limit order book data, technical analysis indicators, etc. These methods range from traditional approaches using technical indicators such as moving averages, relative strength index (RSI), and Bollinger bands, to statistical methods such as autoregressive integrated moving average (ARIMA) models and generalized autoregressive conditional heteroscedasticity (GARCH) models, as well as more recent approaches using machine learning algorithms and deep learning models.

[0004] Machine learning approaches widely use algorithms such as support vector machines (SVM), random forests, and gradient boosting decision trees (e.g., XGBoost), which extract features from historical price data and technical indicators and learn patterns to predict future price movements.

[0005] Deep learning approaches use architectures such as long short-term memory (LSTM) networks, gated recurrent units (GRUs), convolutional neural networks (CNNs), and transformers. These models are able to capture complex temporal dependencies in time series data and exhibit high predictive performance, especially when large amounts of data are available.

[0006] However, these traditional methods rely primarily on numerical data and do not fully consider news flow and information flows, which have a significant impact on market participant behavior and market sentiment. News flow plays an important role in price formation, making the development of a multimodal approach that combines textual and numerical data highly relevant.

[0007] In recent years, advances in natural language processing (NLP) technology have improved our ability to analyze text data, such as financial news and social media posts, and assess market sentiment. In particular, the emergence of pre-trained language models (e.g., BERT, RoBERTa, and GPT) has enabled highly accurate understanding of the meaning and context of text, and specialized models (e.g., FinBERT) have been developed that adapt these models to the financial domain. This has led to an increase in attempts to incorporate text data into asset price prediction.

[0008] Non-Patent Document 1 proposes a multimodal approach targeting the Russian securities market. In this study, a forecasting model combining candlestick time series data and text news flow data is developed, and it is shown that adding the text modality reduces the mean absolute percentage error (MAPE) by 55%. However, this study also considers only a single time window (the previous day's news) and does not consider the impact of news on different time scales. Furthermore, it does not implement weighting based on news relevance or adaptive modality fusion according to market conditions.

[0009] Furthermore, existing multimodal approaches lack a mechanism for integrating sector-level correlations into forecasts. In financial markets, strong correlations exist between assets within the same sector, and leveraging this information in forecasts could potentially improve accuracy. For example, multiple companies in the technology sector are often affected by similar market factors, resulting in correlated price movements.

[0010] As described above, conventional technologies have not fully realized (1) a method for effectively capturing the impact of news on different time scales, (2) a weighted aggregation method based on news relevance, (3) a framework for utilizing sector-level correlations in forecasting, and (4) a method for dynamically adjusting the importance of each modality according to market conditions. By solving these issues, it will be possible to significantly improve the accuracy of financial asset price forecasting. [Prior art documents] [Non-patent literature]

[0011] [Non-Patent Document 1] "Multimodal Stock Price Prediction: A Case Study of the Russian Securities Market", arXiv:2503.08696v1, March 5, 2025 Summary of the Invention [Problem to be solved by the invention]

[0012] The present invention aims to provide a system and method for solving the above-mentioned problems of the prior art and improving the accuracy of financial asset price prediction.

[0013] Specifically, the present invention aims to solve the following problems:

[0014] 1. Providing an effective way to capture news impact across different time scales: While conventional techniques use a single time window (e.g., only the news from the previous day) to assess the impact of news, the impact of news changes over time, and short-term and long-term impacts may differ. The present invention aims to provide a method for capturing the impact of news over different time scales using multiple time windows.

[0015] 2. Realization of a weighted aggregation method based on news relevance: In the prior art, simple aggregation (e.g., averaging) was performed without considering the relevance of news, but not all news has the same relevance to the target asset. The present invention aims to realize a weighted aggregation method that evaluates the relevance of news and gives greater influence to more relevant news.

[0016] 3. Building a framework for utilizing sector-level correlations for forecasting: In conventional techniques, individual assets are often forecast independently, and correlations at the sector level are not taken into consideration. The present invention aims to build a framework that utilizes correlations between assets within the same sector to improve the robustness of forecasts.

[0017] 4. Providing a way to dynamically adjust the importance of each modality depending on market conditions: In conventional techniques, fixed weighting is often used to integrate time series data and news data, but the relative importance of each modality changes depending on market conditions. The present invention aims to provide a method for dynamically adjusting the importance of each modality depending on market conditions (e.g., high or low volatility, importance of news, etc.).

[0018] 5. Realization of a practical and highly accurate financial asset price prediction system that integrates the above elements: The purpose of this invention is to realize a practical and highly accurate financial asset price prediction system that integrates the above elements. This system aims to significantly improve prediction accuracy compared to conventional technologies by effectively integrating time-series data and news data and taking into account market conditions and sector-level correlations. [Means for solving the problem]

[0019] To solve the above problems, the present invention provides a new artificial intelligence system called "Hierarchical Aggregate Financial Prediction Framework" (hereinafter referred to as "HierAggFin"), which consists of the following main components:

[0020] 1. Hierarchical temporal news aggregation mechanism: A mechanism that captures the impact of news over different time scales using multiple time windows (e.g., 1 day, 3 days, 7 days, 30 days). This mechanism calculates a weighted average of news vectors within each time window, applying exponential decay based on temporal proximity. This allows us to assign higher weight to more recent news while also capturing the impact of news over the long term.

[0021] 2. Relevance-weighted news aggregation mechanism: A mechanism that evaluates the relevance of news articles to the target asset and gives greater influence to more relevant news. Relevance is evaluated based on factors such as the presence of the company name / ticker in the title, the frequency of keywords in the text, and the position of the company mention.

[0022] 3. Sector-level correlation integration mechanism: A mechanism that improves the robustness of forecasts by leveraging correlations between assets within the same sector. This mechanism calculates the correlation coefficient between a target asset and other assets in the same sector, and adjusts the forecast of the target asset based on the forecast of assets with significant correlations.

[0023] 4. Adaptive modality fusion mechanism: A mechanism that dynamically adjusts the weighting of time series data and news data based on market volatility and news importance. For example, it increases the weighting of time series data in high volatility markets, and increases the weighting of news data when important news events are occurring.

[0024] Combining these components effectively integrates time series data and news data to achieve highly accurate asset price predictions.

[0025] According to one aspect of the present invention, there is provided a multimodal system for forecasting financial asset prices. The system includes a first processing unit for processing time-series data, a second processing unit for processing news data, and an aggregator for aggregating the outputs of the first and second processing units. The second processing unit includes a hierarchical temporal news aggregator that aggregates news data over multiple different time windows and a relevance-weighted news aggregator that weights news based on relevance. The aggregator includes a sector-level correlation aggregator that adjusts forecasts based on sector-level correlations and an adaptive modality fusion mechanism that dynamically adjusts the weights of each modality depending on market conditions.

[0026] According to another aspect of the present invention, there is provided a multimodal method for forecasting financial asset prices, the method comprising the steps of processing time series data, processing news data, and integrating the results of the time series data processing and the news data processing. The news data processing step comprises a hierarchical temporal news aggregation step for aggregating news data over multiple different time windows and a relevance-weighted news aggregation step for weighting news based on relevance. The integrating step comprises a sector-level correlation integration step for adjusting forecasts based on sector-level correlations and an adaptive modality fusion step for dynamically adjusting the weights of each modality according to market conditions. [Effects of the Invention]

[0027] The present invention provides the following advantages:

[0028] 1. Significant improvement in forecast accuracy: Our multimodal approach can reduce mean absolute percentage error (MAPE) by more than 50%, enabling investors and traders to make decisions based on more accurate price predictions. For example, if a traditional forecasting model based solely on time series yields a MAPE of around 0.4%, our approach can potentially reduce it to less than 0.2%. This means that for a stock price of 10,000 yen, the forecast error would decrease from 40 yen to less than 20 yen, resulting in significant economic benefits, especially for large-volume and high-frequency trading.

[0029] 2. Improved accuracy of price movement direction prediction: This improves the accuracy of predicting the direction of price movements (up or down), increasing the success rate of trading strategies. While traditional forecasting models based solely on time series often have a directional prediction accuracy of around 52%, the approach of this invention can improve this to 55% or more. This means that even for simple binary predictions of "up or down," it can result in a significant difference in profits in the long term.

[0030] 3. Increased adaptability to changing market conditions: The prediction model is adaptively adjusted according to market volatility and news importance, allowing stable prediction performance to be maintained even under different market conditions. Conventional fixed models cannot adapt to changes in market conditions (e.g., a transition from a low-volatility market to a high-volatility market), resulting in a significant decline in prediction accuracy. However, the approach of the present invention can maintain stable prediction performance even under such conditions.

[0031] 4. Increased transparency and interpretability of prediction evidence: The hierarchical structure and explicit weighting mechanism make it easier for users to understand what factors a forecast is based on. This makes it easier for users to assess the reliability of the forecast. For example, it can provide information such as "This forecast is heavily influenced by short-term news (1-day window)" or "This forecast is based on the trends of correlated assets within the sector."

[0032] 5. Applicability to different markets and languages: The proposed framework can be applied to different markets and languages ​​by substituting the appropriate language model (e.g., Japanese BERT for the Japanese market, BERT / RoBERTa for the English market, Chinese BERT for the Chinese market, etc.), making it widely applicable as a predictive model in global financial markets.

[0033] 6. Improved computational efficiency: The hierarchical structure allows for parallel processing of news aggregation for each time window, enabling efficient processing of large amounts of news data. This enables near real-time forecast updates, making it useful for high-frequency trading and immediate investment decisions.

[0034] 7. Improved scalability: The modular design allows the system to process news data in parallel streams, enabling it to scale as news volumes increase, even with large numbers of news sources and frequently updated news feeds. DETAILED DESCRIPTION OF THE INVENTION

[0035] Hereinafter, embodiments of the present invention will be described in detail.

[0036] System Configuration This system consists of a data collection section, a preprocessing section, a time series processing section, a news processing section, a prediction integration section, and an output section. The data collection section collects time-series data (price, volume, and other market indicators) from financial markets and also collects news articles from various sources. Time-series data is collected from stock exchange APIs, financial data providers (e.g., Bloomberg, Refinitiv, Quick), or public data sources (e.g., Yahoo Finance, Alpha Vantage). News articles are collected from various sources, such as financial news sites, company press releases, social media, and expert blogs. The collected data is sent to the preprocessing section. The preprocessing section performs processes such as normalizing the time series data, removing outliers, and imputing missing values, as well as cleaning, tokenizing, and vectorizing news articles. The preprocessing of time series data involves the following steps: 1. Impute missing values: Impute missing values ​​using linear interpolation, forward fill, or machine learning-based imputation methods. 2. Outlier treatment: Identify and treat outliers using moving averages, median filtering, or statistical methods (e.g., Z-score based outlier detection). 3. Scaling: Scale each feature to an appropriate range (e.g., 0 to 1, or mean 0, standard deviation 1). 4. Feature extraction: Extract features such as relative price change (return), volatility, and momentum from candlestick data. 5. Apply a time window: Form an input vector using data from a certain period of time in the past (e.g., 5 business days, 10 business days, etc.). News article preprocessing involves the following: 1. Cleaning: removing HTML elements, normalizing special characters, removing stop words, handling punctuation, etc. 2. Tokenization: Tokenize the text using a tokenizer from a language model (e.g., BERT, RoBERTa). 3. Vectorization: A pre-trained language model is used to convert the news article into a vector representation. Specifically, to get a representation of the entire article, we either use the hidden state of the last layer of the [CLS] token or average the hidden states of all tokens. 4. Filtering: Use keyword matching, entity recognition, or specialized classifiers to select news articles relevant to the asset of interest. The preprocessed data is sent to the time series processing section and the news processing section, respectively. The time series processor generates price predictions from time series data using deep learning models such as long short-term memory (LSTM) networks. LSTM is suitable for forecasting financial time series because it can capture long-term dependencies in time series data. The specific configuration of the time series processor is as follows: 1. Input layer: Receives preprocessed time series features (e.g., relative price change, volatility, etc. over the past five trading days). 2. LSTM layer: A layer consisting of multiple LSTM cells that learns temporal dependencies in time-series data. Typically, two or more LSTM layers are stacked. 3. Dropout layer: Apply dropout regularization to prevent overfitting. 4. Fully connected layer: Takes the output of the LSTM and converts it into the final prediction. 5. Output layer: Outputs the predicted value (e.g., relative price change for the next business day). The news processing unit includes a hierarchical time news aggregation mechanism and a relevance weighting news aggregation mechanism to generate price predictions from news data. The specific configuration of the news processing unit is as follows: 1. Input layer: receives the preprocessed news vectors. 2. Hierarchical temporal news aggregation layer: Aggregates news vectors over multiple time windows. 3. Relevance-weighted news aggregation layer: News is weighted based on its relevance. 4. Fully connected layer: receives the aggregated news vectors and converts them into an intermediate representation. 5. Output layer: Outputs the predicted value (e.g., relative price change for the next business day). The prediction integrator includes a sector-level correlation integrator and an adaptive modality fusion mechanism, and integrates the predictions from the time series processor and the news processor to generate the final prediction. The specific configuration of the prediction integrator is as follows: 1. Input layer: Receives predicted values ​​from the time series processing section and the news processing section. 2. Sector-level correlation integration layer: Adjusts forecasts based on correlations within the sector. 3. Adaptive modality fusion layer: Dynamically adjust the weight of each modality based on market conditions. 4. Output layer: Outputs the final predicted value (e.g., relative price change for the next business day). The output section provides information to the user, such as the predicted price, the direction of price movement, and the confidence level of the prediction. The output section provides the following information: 1. Forecast Price: Closing price forecast for the next business day (or a specified future point). 2. Price movement direction: predicted upward or downward movement. 3. Prediction confidence: A measure of the degree of certainty in the prediction (e.g., probability value or confidence interval). 4. Explanatory information: Key factors that contributed to the forecast (important news, trends in correlated assets, etc.). 5. Visualization: Graphical display of prediction results and trends in past prediction accuracy.

[0037] A hierarchical temporal news aggregation mechanism The hierarchical temporal news aggregation mechanism is one of the core features of the present invention. This mechanism aims to capture the impact of news over different time scales using multiple time windows. In financial markets, the impact of news changes over time. For example, important news such as a company's quarterly earnings announcement can cause large price fluctuations immediately after the announcement, but its impact decays over time, and the impact of other factors can become greater several days later. On the other hand, news such as industry-wide trends or regulatory changes can continue to affect prices for a long period of time. To capture the impact of news on such different time scales, our hierarchical temporal news aggregation mechanism defines multiple time windows (e.g., 1 day, 3 days, 7 days, 30 days) and aggregates news vectors within each time window, thereby capturing both short-term market reactions and long-term market sentiment. Specifically, we calculate a weighted average of news vectors within each time window, using exponential decay based on temporal proximity, based on the target date for the forecast. This allows us to assign higher weight to more recent news while capturing the impact of long-term news. The hierarchical temporal news aggregation process is performed in the following steps: Step 1: Define multiple time windows (e.g., 1 day, 3 days, 7 days, 30 days) based on the target forecast date. For example, if the forecast date is April 10, 2024, - 1-day window: News from April 9, 2024 - 3-day window: News from April 7, 2024 to April 9, 2024 - 7-day window: News from April 3, 2024 to April 9, 2024 - 30-day window: News from March 11, 2024 to April 9, 2024 The target is. Step 2: Select the news vectors within each time window. For example, a one-day window selects only news from the day before the target prediction date, while a three-day window selects news from the three days before the target prediction date. Here, a news vector is a vector representation of a news article converted using a pre-trained language model (e.g., BERT, RoBERTa). The dimension of a news vector is usually determined by the language model used; for example, it is 768 dimensions for BERT-base and 1024 dimensions for BERT-large. Step 3: Calculate the weight based on the temporal proximity of each news item. Specifically, we apply an exponential decay based on the time difference between the forecast date and the news release date. For example, if the time difference is d days, the weight w is calculated as follows: w = exp(-λ * d) where λ is a decay rate parameter, typically ranging from 0.1 to 0.5. This parameter controls how much the importance of news decays over time. A larger λ results in a faster decay, while a smaller λ results in a slower decay. For example, if λ = 0.2, news from one day ago will have a weight of exp(-0.2 * 1) = 0.819, and news from five days ago will have a weight of exp(-0.2 * 5) = 0.368. The decay rate parameter λ can be adjusted depending on the asset's volatility, liquidity, market characteristics, etc. For example, a large λ value may be appropriate for high-volatility assets and highly liquid markets, where the impact of news is reflected quickly. On the other hand, a small λ value may be appropriate for low-volatility assets and less liquid markets, where the impact of news is reflected gradually. It is also possible to use different decay rate parameters for different time windows, for example, using a larger λ value for short-term windows (1 day, 3 days) and a smaller λ value for long-term windows (7 days, 30 days) to better capture short-term responses and long-term trends. Step 4: Calculate the mean of the weighted news vectors for each time window. Specifically, for n news vectors v_1, v_2, ..., v_n within a time window t and corresponding weights w_1, w_2, ..., w_n, the aggregate vector a_t is calculated as follows: a_t = (w_1 * v_1 + w_2 * v_2 + ... + w_n * v_n) / (w_1 + w_2 + ... + w_n) Here, * represents scalar multiplication and + represents vector addition. The denominator (w_1 + w_2 + ... + w_n) is a normalization coefficient that ensures that the sum of the weights is 1. This keeps the scale of the aggregate vector constant regardless of the number of news items. For example, if there are three news vectors v_1, v_2, v_3 in time window t, with corresponding weights w_1 = 0.9, w_2 = 0.7, w_3 = 0.5, the aggregate vector a_t is calculated as follows: a_t = (0.9 * v_1 + 0.7 * v_2 + 0.5 * v_3) / (0.9 + 0.7 + 0.5) = (0.9 * v_1 + 0.7 * v_2 + 0.5 * v_3) / 2.1 If there is no news within a particular time window (e.g., there is no news related to that asset on a particular day), the aggregate vector for that time window is set to a zero vector or a learnable default vector. Step 5: The aggregate vectors for each time window are concatenated to generate the final hierarchical news representation. For example, if the aggregate vectors for 1-day, 3-day, 7-day, and 30-day windows are a_1, a_3, a_7, and a_30, respectively, the final hierarchical news representation h is concatenated as follows: h = [a_1, a_3, a_7, a_30] where [a, b] represents the concatenation of vectors a and b. For example, if each aggregate vector has 768 dimensions, the final hierarchical news representation h will have 768 * 4 = 3072 dimensions. This hierarchical approach allows us to capture both short-term market reactions (1-day window) and long-term market sentiment (30-day window), enabling a more comprehensive assessment of news impact. For example, the aggregate vector for the short-term window captures the impact of recent news events (e.g., earnings announcements, product launches), while the aggregate vector for the long-term window captures the long-term impact of industry trends, regulatory changes, macroeconomic factors, etc. Furthermore, rather than simply concatenating the aggregate vectors for each time window, it is possible to dynamically weight them using an attention mechanism. In this case, it is possible to learn the importance of different time windows depending on the market conditions and asset characteristics. For example, adaptive behavior is possible, such as increasing the importance of short-term windows in high-volatility markets and long-term windows in low-volatility markets.

[0038] Relevance-weighted news aggregation mechanism The relevance-weighted news aggregation mechanism evaluates the relevance of each news article to a target asset, with the goal of giving greater influence to more relevant news. In financial markets, not all news has the same relevance to the underlying assets. For example, news that "Company A launches a new product" is likely to have a direct impact on Company A's stock price, while news that "industry-wide growth is slowing" may only have an indirect impact. Furthermore, news about the same company may have different degrees of relevance to that company depending on the title and how it is mentioned in the text. To account for these differences in relevance, a relevance-weighted news aggregation mechanism evaluates the relevance of each news article to a target asset and gives greater influence to more relevant news. The relevance score is calculated based on the following factors: 1. Presence of Company Name / Ticker in Title: If a news article title contains a company name or ticker symbol, the news is likely to be directly related to the company in question. For example, a title like "Toyota Motor Corporation Announces New EV" is likely to have a direct impact on the stock price of Toyota Motor Corporation (7203). For this reason, we assign a high score to news articles with a company name or ticker symbol in the title. 2. Frequency of keywords in the text: If keywords related to the target company (company name, product name, service name, main business area, etc.) appear frequently in a news article, the news is likely to be related to the target company. For example, in news about the "smartphone market," if keywords such as "Apple," "iPhone," and "iOS" appear frequently, the news may have an impact on the stock price of Apple Inc. (AAPL). Scores are calculated based on the frequency of keyword appearance, but a diminishing function is used rather than a simple linear relationship to prevent excessive weighting. 3. Company mention location: If a company is mentioned early in a news article, it is likely to be the main subject of the news. For example, if a company is mentioned in the first paragraph of an article, it is likely to be the subject of the news. On the other hand, if the company is mentioned later in the article, it may be mentioned as a related company rather than the subject. For this reason, we give extra score if a company is mentioned early in the article (e.g., in the first paragraph). The relevance-weighted news aggregation process is performed in the following steps: Step 1: Calculate a relevance score for each news article. Specifically, the following formula is used: relevance_score = title_score + keyword_score + position_score where: - title_score: 3.0 if the company name or ticker is in the title, 0.0 if not - keyword_score:min(2.0, 0.5 * keyword_count), where keyword_count is the number of occurrences of the relevant keyword in the article - position_score: 1.0 if the company name or ticker is in the first paragraph of the article, 0.0 if not For example, if a news article contains a company name in the title (title_score = 3.0), has five relevant keywords in the body of the article (keyword_score = min(2.0, 0.5 * 5) = 2.0), and contains the company name in the first paragraph (position_score = 1.0), the relevance score would be 3.0 + 2.0 + 1.0 = 6.0. More sophisticated methods for calculating relevance scores are also possible, such as using natural language processing techniques to calculate the semantic similarity between news articles and company profiles, or using supervised learning to train a model that predicts the relevance score. Step 2: Weight the news vectors based on their relevance scores. Specifically, for a news vector v and a relevance score r, the weighted vector v' is calculated as follows: v' = (1 + r) * v Here, (1 + r) is a weighting factor based on the relevance score, and the higher the relevance score, the larger the value. For example, if the relevance score r = 6.0, the weighting factor is (1 + 6.0) = 7.0, and the news vector v is magnified by 7 times. In this weighting method, even if the relevance score is 0, the weight coefficient is 1 and the news vector is kept as is. This allows news with low relevance to have a certain influence without being completely ignored. Instead of weighting based on relevance scores, we could normalize the relevance scores by passing them through a softmax function, so that the sum of the weights of all news stories is 1, keeping the scale of the aggregate vector constant regardless of the number of stories. Step 3: Aggregate the weighted news vectors to generate the final news representation. Specifically, for n weighted news vectors v'_1, v'_2, ..., v'_n and corresponding relevance scores r_1, r_2, ..., r_n, the aggregate vector a is calculated as follows: a = (v'_1 + v'_2 + ... + v'_n) / n Or, using a weighted average normalized by relevance score: a = ((1 + r_1) * v'_1 + (1 + r_2) * v'_2 + ... + (1 + r_n) * v'_n) / ((1 + r_1) + (1 + r_2) + ... + (1 + r_n)) This relevance-weighted approach allows news directly related to the asset to have greater influence, reducing the impact of noisy news. For example, news like "Company A launches a new product" will have a high relevance score and be highly influential. On the other hand, news like "Industry-wide growth is slowing" will have a low relevance score and be less influential. Furthermore, it is possible to filter news based on the distribution of relevance scores. For example, by excluding news with a relevance score below a certain threshold (e.g., 2.0), it is possible to completely eliminate noisy news. However, such hard filtering should be applied carefully, as it may also eliminate useful information contained in less relevant news.

[0039] Sector-level correlation integration mechanism The sector-level correlation integration mechanism aims to improve the robustness of forecasts by leveraging the correlation between assets in the same sector. In financial markets, companies in the same sector often have strong correlations in their price movements because they have similar business models and are affected by similar market factors. For example, companies in the technology sector (e.g., Apple, Microsoft, Google) often exhibit correlations in their stock price movements as they are affected by common factors such as technological trends, regulatory changes, consumer demand, etc. Similarly, similar correlations are observed in other sectors such as the financial sector, energy sector, and healthcare sector. By leveraging these sector-level correlations in forecasts, we can improve the accuracy of forecasts for individual assets. For example, if the stock prices of several companies in a sector are predicted to rise, it is likely that the stock prices of other companies in that sector will also rise. The sector-level correlation integration process is performed in the following steps: Step 1: Identify the target asset sector. For example, if Company A is in the "Technology" sector, identify other companies that are in the same "Technology" sector. Sector information can be determined based on stock exchange classifications, GICS (Global Industry Classification Standard), or proprietary classification standards. For example, in the Japanese market, the Tokyo Stock Exchange's 33 industry classification and the TOPIX 17 series classification are available. In the US market, the S&P 500 GICS classification (11 sectors including information technology, finance, and healthcare) is widely used. Step 2: Calculate the correlation coefficient with other assets in the same sector. The correlation coefficient is calculated using past price data. Specifically, the Pearson correlation coefficient is calculated using time series data on the daily returns of the target asset and other assets. The Pearson correlation coefficient is an index that measures the strength of the linear correlation between two variables, and takes values ​​ranging from -1 to 1. The closer to 1, the stronger the positive correlation, and the closer to -1, the stronger the negative correlation. A value closer to 0 indicates a weak correlation. Correlation coefficients are calculated using data from a certain period of time in the past (e.g., 60 business days, 120 business days, 250 business days, etc.). It is important to select an appropriate period, as a period that is too short may be susceptible to temporary correlations, while a period that is too long may not capture structural changes. It is also possible to use more robust correlation measures (e.g., Spearman's rank correlation coefficient, Kendall's tau coefficient) instead of the simple Pearson correlation coefficient, or dynamic correlation models that capture time-varying correlation structures (e.g., dynamic conditional correlation (DCC) models). Step 3: Identify assets with significant correlations. Specifically, assets whose absolute value of the correlation coefficient exceeds a predetermined threshold (e.g., 0.3) are identified. This allows only assets that have a strong correlation with the target asset to be considered. It is important to select a threshold that is appropriate for the characteristics of the market and the sector. Generally, a threshold in the range of 0.3 to 0.5 is used. If the threshold is too low, weak correlations will be considered, increasing noise, while if it is too high, only strong correlations will be considered, potentially resulting in a loss of information. It is also important to consider not only the absolute value of the correlation coefficient but also the statistical significance (p-value) of the correlation. For example, even if the absolute value of the correlation coefficient exceeds 0.3, if the p-value exceeds 0.05 (if it is not statistically significant), you may decide not to consider the correlation. Step 4: Calculate the weighting adjustment based on the correlation coefficient. Specifically, the predicted return of the target asset is adjusted based on the predicted return of the correlated asset. The amount of adjustment is proportional to the strength of the correlation coefficient, and the stronger the correlation, the greater the adjustment. The adjustment is calculated using the following formula: adjustment = sum(correlation_i * predicted_return_i * weight_i) / sum(weight_i) where: - correlation_i: Correlation coefficient between the target asset and the correlated asset i - predicted_return_i: predicted return of correlated asset i - weight_i: weight of correlated asset i (usually the absolute value of the correlation coefficient) - sum(): Sum over all correlated assets For example, if asset A has correlation coefficients of 0.7, 0.5, and 0.3 with three assets B, C, and D in its sector, and the expected returns of these assets are +2%, +1%, and -1%, respectively, the adjustment amount would be calculated as follows: adjustment = (0.7 * 2% * 0.7 + 0.5 * 1% * 0.5 + 0.3 * (-1%) * 0.3) / (0.7 * 0.7 + 0.5 * 0.5 + 0.3 * 0.3) = (0.98% + 0.25% - 0.09%) / (0.49 + 0.25 + 0.09) = 1.14% / 0.83 = 1.37% In this example, it suggests adjusting the target asset's expected return by +1.37% based on the expected returns of other assets in the sector. Step 5: Apply the adjustments to the original forecast to generate the final forecast. Specifically, the following formula is used: adjusted_return = original_return + dampening_factor * adjustment where: - original_return: The original predicted return of the target asset - adjustment: the amount of adjustment based on the predicted return of the correlated asset - dampening_factor: Damping factor to control the effect of the adjustment (usually in the range 0.1 to 0.5) The dampening factor (dampening_factor) is a parameter used to control the impact of the adjustment, and is usually between 0.1 and 0.5. The larger the dampening factor, the stronger the influence of sector-level correlations, and the smaller the dampening factor, the weaker the influence. For example, if the original forecast return of the underlying asset is original_return = +0.5%, the adjustment amount is adjustment = +1.37%, and the dampening factor is dampening_factor = 0.3, the adjusted forecast return is calculated as follows: adjusted_return = 0.5% + 0.3 * 1.37% = 0.5% + 0.411% = 0.911% In this example, accounting for sector-level correlations adjusts the expected return from +0.5% to +0.911%. It is important to adjust the damping factor according to market and sector characteristics. For example, if correlation within a sector is strong, a large damping factor may be used, and if correlation is weak, a small damping factor may be used. Instead of using a fixed value for the damping factor, it is also possible to dynamically adjust it based on market conditions and sector characteristics, such as using a larger damping factor when market volatility is high or when intra-sector correlations are particularly strong. This sector-level correlation integration approach allows us to make forecasts that take into account the trends of the entire sector, rather than just forecasting a single asset, improving the robustness of our forecasts. For example, even when there is little news about an individual asset, we can make forecasts based on the trends of the entire sector. It also reduces the impact of outliers and temporary noise.

[0040] Adaptive Modality Fusion Mechanism The adaptive modality fusion mechanism aims to dynamically adjust the importance of each modality (time series data and news data) according to market conditions. The relative importance of time series data and news data changes depending on the market state and conditions. For example, in a high-volatility market, short-term price fluctuations become more important, and the weight of time series data increases, while the weight of news data increases when an important news event occurs. Conventional fixed weighting methods cannot adapt to such changes in market conditions, which may result in a decline in forecast accuracy.The adaptive modality fusion mechanism dynamically adjusts the weights of each modality according to market conditions, thereby achieving more accurate forecasts. The adaptive modality fusion process is performed in the following steps: Step 1: Assess market volatility. Specifically, it calculates volatility levels using indicators such as the VIX (Volatility Index) and the standard deviation of past price fluctuations. Volatility levels are normalized to a range of 0 to 1. Volatility is typically calculated by using the standard deviation of daily returns over a certain period of time (e.g., 10, 20, 30 business days). For example, by calculating the standard deviation of daily returns over the past 20 business days and converting it into a percentile rank based on the distribution over the past year, a volatility level ranging from 0 to 1 can be obtained. Additionally, when using a market-wide volatility index such as the VIX, its value can be normalized based on its historical distribution to obtain a volatility level ranging from 0 to 1. For example, a VIX below 15 could be considered low volatility (0.0 to 0.3), a VIX between 15 and 25 could be considered medium volatility (0.3 to 0.7), and a VIX above 25 could be considered high volatility (0.7 to 1.0). Step 2: Evaluate the volume and importance of the news. Specifically, the following metrics are calculated: - News Volume: The number of news articles related to the asset, normalized compared to the historical average (range 0 to 1) - News Importance: Normalized mean relevance score of news articles (range 0 to 1) News volume is calculated by counting the number of news articles related to the target asset published over a certain period of time in the past (e.g., 5 business days, 10 business days, etc.). This value is converted into a percentile rank based on the historical distribution (e.g., the distribution of the number of news articles over the past year), resulting in a news volume index ranging from 0 to 1. For example, if there were 10 news articles related to the target asset published in the past five business days, which corresponds to the 80th percentile of the distribution of the number of news articles per five business days over the past year, the news volume index would be 0.8. News importance is calculated by averaging the relevance scores of news articles related to the target asset published over a certain period of time in the past. This value is converted into a percentile rank based on the historical distribution, resulting in a news importance index ranging from 0 to 1. For example, if the average relevance score of news articles related to a target asset published over the past five business days is 4.5, which corresponds to the 70th percentile of the distribution of average relevance scores over the past year, the news importance index would be 0.7. Step 3: Adjust the base weight of each modality based on market conditions. Specifically, the following rules apply: (a) In a high volatility market (volatility level > 0.8): - Time series weight: 0.7 - News data weight: 0.3 (b) If an important news event occurs (news importance > 0.7 and news volume > 0.6): - Time series weight: 0.3 - News data weight: 0.7 (c) Under normal market conditions: - Time series weight: 0.5 - News data weight: 0.5 These rules can be tailored to market and asset characteristics: for example, certain sectors or asset classes may be more influenced by news or have more important time series patterns. It is also possible to use a continuous function to calculate the weights instead of a discrete rule, for example the following function: ts_weight = 0.5 + 0.3 * volatility - 0.3 * news_importance news_weight = 1 - ts_weight where volatility is the volatility level (0 to 1) and news_importance is the news importance index (0 to 1). In this function, higher volatility increases the weight of the time series data, and higher news importance decreases the weight of the time series data (i.e., increases the weight of the news data). Step 4: Combine the time series forecast and the news forecast using adjusted weights. Specifically, the following formula is used: combined_prediction = (ts_weight * time_series_prediction + news_weight * news_prediction) / (ts_weight + news_weight) where: - ts_weight: Time series data weight - time_series_prediction: Prediction based on time series data - news_weight: News data weight - news_prediction: Predictions based on news data The denominator (ts_weight + news_weight) is a normalization factor that ensures the weights sum to 1. This keeps the scale of the combined prediction constant regardless of the value of the weights. For example, if the prediction based on time series data is time_series_prediction = +1.2%, the prediction based on news data is news_prediction = +0.5%, the weight of the time series data is ts_weight = 0.7, and the weight of the news data is news_weight = 0.3, then the combined prediction is calculated as follows: combined_prediction = (0.7 * 1.2% + 0.3 * 0.5%) / (0.7 + 0.3) = (0.84% ​​+ 0.15%) / 1.0 = 0.99% In this example, the time series data is weighted more heavily to simulate a high volatility market, and the combined forecast is closer to the time series forecast. This adaptive modality fusion approach improves forecast accuracy by selecting the optimal modality combination depending on the market conditions. For example, time series data is more important in high volatility markets, and news data is more important when important news events are occurring. Furthermore, this adaptive fusion mechanism can be extended beyond simply fusing two modalities (time series and news) to fusing more modalities (e.g., time series, news, social media, macroeconomic indicators, etc.). In this case, more comprehensive forecasts can be made by dynamically adjusting the importance of each modality according to market conditions.

[0041] Overall system processing flow

[0153] The overall processing flow of the system of the present invention is as follows:

[0154] 1. Collecting input data - Asset price time series data (candlestick data: opening price, closing price, high price, low price) - Trading volume data - Related news articles - Sector Information - Market indicators (volatility indicators such as VIX)

[0155] Time series data is collected from stock exchange APIs, financial data providers, or public data sources. Data is typically provided at daily, hourly, or minute granularity. This invention primarily uses daily data, but is also applicable to higher frequency data (e.g., hourly, minute).

[0156] News articles are collected from various sources, including financial news sites, company press releases, social media, expert blogs, etc. News articles include information such as publication date and time, title, body of text, author, and source.

[0157] Sector information is collected based on stock exchange classifications, the Global Industry Classification Standard (GICS), or proprietary classifications, and includes a company's sector classification, subsector classification, and industry classification.

[0158] Market indicators are indicators that show the overall state of the market, such as VIX (Volatility Index), interest rates, exchange rates, commodity prices, etc. These indicators are used to assess market conditions and adjust adaptive modality fusion.

[0159] 2. Data Preprocessing - Normalization of time series data: Normalize each feature to a mean of 0 and a standard deviation of 1. - Missing value completion: Use linear interpolation or forward filling to complete missing values. - Outlier processing: Processing outliers using moving averages, median filtering, etc. - Cleaning news articles: removing HTML elements, normalizing special characters, removing stop words, etc. - News article tokenization: Tokenize text using a tokenizer from a language model (BERT, RoBERTa, etc.) - News article vectorization: Convert news articles into vector representations using pre-trained language models Preprocessing of time series data begins with imputing missing values. Missing values ​​are imputed using linear interpolation, forward fill, backward fill, or machine learning-based imputation methods (e.g., k-nearest neighbors, random forests). Next, outliers are identified and treated using moving averages, median filtering, or statistical methods (e.g., Z-score-based outlier detection, corrected interquartile range (IQR) method). Next, each feature is scaled. Scaling methods include standardization (mean 0, standard deviation 1), min-max scaling (0 to 1), and robust scaling (based on the median and interquartile range). Although standardization is primarily used in this invention, other scaling methods can also be used depending on the characteristics of the data. Finally, feature extraction is performed. From the candlestick data, features such as relative price change (return), volatility (e.g., standard deviation of returns over a certain period of time), momentum (e.g., cumulative value of returns over a certain period of time), and technical indicators (e.g., moving average, RSI, MACD) are extracted. These features are used as inputs for the time series processing section. The first step in preprocessing a news article is cleaning. Cleaning includes removing HTML elements, normalizing special characters, removing stop words, and processing punctuation. Next, tokenization is performed. For tokenization, a tokenizer from a language model (such as BERT or RoBERTa) is used. The tokenizer divides the text into words and subwords and converts each token into an integer ID (token ID). Next, vectorization is performed. A pre-trained language model (such as BERT or RoBERTa) is used for vectorization. A language model takes tokenized text as input and outputs a hidden state corresponding to each token. To obtain a representation of the entire article, the hidden state of the final layer for the [CLS] token (a special token added to the beginning of a sentence) may be used, or the hidden states of all tokens may be averaged. Finally, filtering is performed. Filtering uses keyword matching, entity recognition, or specialized classifiers to select news articles relevant to the target asset. Keyword matching checks whether news articles contain keywords such as company names, ticker symbols, product names, or service names. Entity recognition uses natural language processing techniques to identify entities such as company or organization names contained in news articles. Specialized classifiers use machine learning models (e.g., logistic regression, random forests, or neural networks) to classify whether news articles are relevant to the target asset. 3. Processing time series data - Feature extraction: Calculate relative price changes (returns) from candlestick data - Applying a time window: Forming an input vector using the return vectors of the past five business days - Application of time series forecasting models: Predict the next business day's returns using deep learning models such as LSTM The first step in processing time series data is feature extraction. Relative price changes (returns) are calculated from candlestick data. Returns can be calculated as continuous returns (logarithmic returns) or discrete returns (simple returns). Continuous returns are calculated as ln(P_t / P_{t-1}), while discrete returns are calculated as (P_t / P_{t-1}) - 1, where P_t is the price at time t (usually the closing price). This invention primarily uses discrete returns, but continuous returns can also be used depending on the characteristics of the data. Next, a time window is applied. An input vector is formed using return vectors for a certain period in the past (e.g., 5 business days, 10 business days, etc.). For example, if a return vector for the past 5 business days is used, the input vector will have 5 dimensions. Also, if returns are calculated for each of the four features of the candlestick data (open price, close price, high price, low price), the input vector will have 5 * 4 = 20 dimensions. Finally, we apply a time series forecasting model. We use a deep learning model such as LSTM to predict the return for the next business day. The LSTM model receives an input vector, learns the temporal dependency through the hidden state, and predicts the return for the next business day. The structure of the LSTM model is as follows: - Input layer: receives an input vector (e.g., 20 dimensions) - LSTM layer 1: 128 units, tanh activation function, dropout rate 0.2 - LSTM layer 2: 64 units, tanh activation function, dropout rate 0.2 - Fully connected layer: 32 units, ReLU as activation function - Output layer: 1 unit (return prediction for the next business day) 4. Processing News Data - News article filtering: Select news articles related to your asset - Hierarchical temporal news aggregation: Aggregating news data over multiple time windows - Relevance-weighted news aggregation: news is weighted based on its relevance - Applying news prediction models: Predicting returns for the next business day using processed news vectors The news data is processed by first filtering the news articles using keyword matching, entity recognition, or specialized classifiers to select news articles relevant to the asset of interest. The filtered news articles are then sent to a hierarchical temporal news aggregator. Next, we perform hierarchical temporal news aggregation. We aggregate news vectors within multiple time windows (e.g., 1 day, 3 days, 7 days, 30 days) using multiple time windows. We calculate a weighted average of news vectors within each time window using exponential decay based on temporal proximity. The aggregated vectors are then sent to a relevance-weighted news aggregator. Next, we perform relevance-weighted news aggregation, which evaluates the relevance of news articles to the target asset, giving greater weight to more relevant news. The relevance score is calculated based on factors such as the presence of the company name / ticker in the title, the frequency of keywords in the text, and the position of the company mention. Finally, we apply the news prediction model. The processed news vector is used to predict the return for the next business day. The structure of the news prediction model is as follows: - Input layer: receives aggregated news vectors (e.g., 3072 dimensions) - Fully connected layer 1: 512 units, ReLU as activation function, dropout rate 0.3 - Fully connected layer 2: 128 units, ReLU as activation function, dropout rate 0.3 - Fully connected layer 3: 32 units, ReLU as activation function - Output layer: 1 unit (return prediction for the next business day) 5. Consolidating predictions - Sector-level correlation integration: Adjusting forecasts based on correlations within a sector - Adaptive modality fusion: Generate final forecasts based on market conditions Forecast integration begins with sector-level correlation integration, which adjusts forecasts based on correlations within a sector. Correlations between the target asset and other assets in the same sector are calculated, and the target asset's forecast is adjusted based on the forecasts of assets with significant correlations. Next, we perform adaptive modality fusion, which dynamically adjusts the weights of each modality (time series data and news data) according to market conditions. Based on market volatility and news importance, we determine the weights of time series data and news data to generate the final forecast. 6. Output - Predicted price: Closing price forecast for the next business day - Price direction: forecast of upward or downward movement - Prediction confidence: An indicator of the degree of confidence in the prediction - Explanatory information: Key factors that contributed to the forecast (important news, trends in correlated assets, etc.) For output, we first calculate the predicted price. To calculate the predicted price from the predicted return, we use the following formula: predicted_price = current_price * (1 + predicted_return) where current_price is the current price (usually the most recent closing price) and predicted_return is the predicted return. Next, the direction of price movement is determined: if the forecast return is positive, it is predicted to rise, if negative, it is predicted to fall. Next, the confidence of the prediction is calculated based on the probability distribution of the output of the prediction model (e.g., softmax output) and the distribution of the prediction error. For example, a confidence interval for the predicted value can be calculated based on the distribution of past prediction errors. Finally, explanatory information is generated. The key factors that contributed to the forecast (important news, trends in correlated assets, etc.) are identified and provided to the user. For example, it can provide information such as "This forecast is heavily influenced by short-term news (1-day window)" or "This forecast is based on trends in correlated assets within the sector."

[0042] Implementation details The system of the present invention can be implemented using the Python language. The main libraries used are TensorFlow / Keras or PyTorch for building deep learning models, Transformers for using language models, NumPy and Pandas for data processing, and Scipy for statistical calculations. The LSTM model for the time series processing part can be implemented with the following Keras code: ```python from tensorflow.keras.models import Sequential from tensorflow.keras.layers import LSTM, Dense, Dropout def create_time_series_model(input_shape): model = Sequential() model.add(LSTM(128, activation='tanh', return_sequences=True, input_shape=input_shape)) model.add(Dropout(0.2)) model.add(LSTM(64, activation='tanh')) model.add(Dropout(0.2)) model.add(Dense(32, activation='relu')) model.add(Dense(1)) model.compile(optimizer='adam', loss='mse') return model # Input shape: (number of time steps, number of features) # Example: 4 features (open, close, high, low) for 5 days time_series_model = create_time_series_model((5, 4)) ``` The language model for the news processing section uses pre-trained models such as BERT and RoBERTa. It can be implemented using the Transformers library as follows: ```python from transformers import BertModel, BertTokenizer import torch # Loading a pre-trained model and tokenizer tokenizer = BertTokenizer.from_pretrained('bert-base-uncased') bert_model = BertModel.from_pretrained('bert-base-uncased') def get_bert_embedding(text, max_length=512): # Tokenizing text inputs = tokenizer(text, return_tensors='pt', max_length=max_length, padding='max_length', truncation=True) # Applying the BERT model with torch.no_grad(): outputs = bert_model(**inputs) # [CLS] Use the hidden state of the final layer of tokens embedding = outputs.last_hidden_state[:, 0, :].numpy() return embedding ``` A hierarchical temporal news aggregator can be implemented as a Python class like this: ```python import numpy as np from datetime import datetime, timedelta class HierarchicalTemporalNewsAggregator: def __init__(self, time_windows=[1, 3, 7, 30], decay_rate=0.2): self.time_windows = time_windows self.decay_rate = decay_rate def aggregate(self, news_vectors, news_timestamps, reference_date): aggregated_vectors = [] for window in self.time_windows: # Select news within a time window window_start = reference_date - timedelta(days=window) window_vectors = [] window_weights = [] for vector, timestamp in zip(news_vectors, news_timestamps): if window_start <= timestamp <= reference_date: # Calculate weight based on time difference days_diff = (reference_date - timestamp).days weight = np.exp(-self.decay_rate * days_diff) window_vectors.append(vector) window_weights.append(weight) if window_vectors: # Calculate the weighted average window_vectors = np.array(window_vectors) window_weights = np.array(window_weights) weighted_sum = np.sum(window_vectors * window_weights[:, np.newaxis], axis=0) normalized_vector = weighted_sum / np.sum(window_weights) aggregated_vectors.append(normalized_vector) else: # Zero vector if there is no news aggregated_vectors.append(np.zeros(news_vectors[0].shape)) # Concatenate the aggregate vectors for each time window return np.concatenate(aggregated_vectors) ``` A relevance-weighted news aggregator can be implemented as a Python class like this: ```python class RelevanceWeightedNewsAggregator: def __init__(self): pass def compute_relevance_score(self, news_item, company_name, ticker, keywords): # Presence of company name / ticker in title title = news_item.get('title', '').lower() title_score = 3.0 if company_name.lower() in title or ticker.lower() in title else 0.0 # Frequency of keyword occurrence in the text body = news_item.get('body', '').lower() keyword_count = sum(1 for kw in keywords if kw.lower() in body) keyword_score = min(2.0, 0.5 * keyword_count) # Company mention position first_paragraph = body.split('\n')[0] if '\n' in body else body[:500] position_score = 1.0 if company_name.lower() in first_paragraph or ticker.lower() in first_paragraph else 0.0 return title_score + keyword_score + position_score def aggregate(self, news_vectors, news_items, company_name, ticker, keywords): if not news_vectors: return np.zeros(768) # empty vector # Calculating relevance scores relevance_scores = [self.compute_relevance_score(item, company_name, ticker, keywords) for item in news_items] # Weighting based on relevance weighted_vectors = [(1 + score) * vector for score, vector in zip(relevance_scores, news_vectors)] # Calculating the weighted average weights = [1 + score for score in relevance_scores] weighted_sum = np.sum([w * v for w, v in zip(weights, weighted_vectors)], axis=0) normalized_vector = weighted_sum / np.sum(weights) return normalized_vector ```

[0043] The sector-level correlation integrator can be implemented as a Python class like this: ```python class SectorLevelCorrelationIntegrator: def __init__(self, correlation_threshold=0.3, dampening_factor=0.3): self.correlation_threshold = correlation_threshold self.dampening_factor = dampening_factor def integrate(self, original_return, sector_returns, correlation_matrix, ticker): # Identify assets with significant correlations correlated_assets = [] for other_ticker, corr in correlation_matrix[ticker].items(): if abs(corr) >= self.correlation_threshold and other_ticker != ticker: correlated_assets.append((other_ticker, corr)) if not correlated_assets: return original_return # Calculate weighting adjustment based on correlation coefficient adjustment = 0.0 total_weight = 0.0 for other_ticker, corr in correlated_assets: weight = abs(corr) adjustment += corr * sector_returns[other_ticker] * weight total_weight += weight adjustment / = total_weight # Apply adjustments to the original prediction adjusted_return = original_return + self.dampening_factor * adjustment return adjusted_return ``` The adaptive modality fusion mechanism can be implemented as a Python class like this: ```python class AdaptiveModalityFusion: def __init__(self): pass def fuse(self, time_series_prediction, news_prediction, volatility, news_importance, news_volume): # Base weight ts_weight = 0.5 news_weight = 0.5 # Adjusting weights based on market conditions if volatility > 0.8: # High volatility market ts_weight = 0.7 news_weight = 0.3 elif news_importance > 0.7 and news_volume > 0.6: # Important news events ts_weight = 0.3 news_weight = 0.7 # Weight normalization total_weight = ts_weight + news_weight ts_weight / = total_weight news_weight / = total_weight # Prediction fusion fused_prediction = ts_weight * time_series_prediction + news_weight * news_prediction return fused_prediction, {'ts_weight': ts_weight, 'news_weight': news_weight} ``` The news prediction model can be implemented with the following Keras code: ```python def create_news_model(input_dim): model = Sequential() model.add(Dense(512, activation='relu', input_dim=input_dim)) model.add(Dropout(0.3)) model.add(Dense(128, activation='relu')) model.add(Dropout(0.3)) model.add(Dense(32, activation='relu')) model.add(Dense(1)) model.compile(optimizer='adam', loss='mse') return model # Input dimension: Vector dimension after hierarchical temporal news aggregation # Example: 4 time windows x 768 dimensions (BERT-base) news_model = create_news_model(4 * 768) ``` The entire system is implemented by combining these components. Each component can be developed, tested, and updated independently. Furthermore, when new language models or time series models are developed, the system can be easily upgraded by simply replacing the corresponding components. [Industrial Applicability]

[0044] The system of the present invention can be used in the following applications:

[0045] 1. Investment decision support system: It can be used as a decision-support tool for individual investors and fund managers when making investment decisions. The system supports more informed investment decisions by providing price forecasts for multiple assets along with key factors underlying the forecasts (important news, trends in correlated assets, etc.). For example, if an investor is considering investing in a specific stock, the system will provide a forecast price for the next business day, the direction of price movement, and the confidence level of the forecast. Furthermore, by providing explanatory information such as "This forecast is primarily influenced by short-term news (1-day window)" or "This forecast is based on trends in correlated assets within the sector," investors can understand the basis of the forecasts and make investment decisions with more confidence.

[0046] 2. Algorithmic trading systems: By incorporating it as part of an automated trading system, trading strategies based on multimodal data can be realized. The system can generate buy / sell signals based on predictions of price movement direction and automatically execute trades. For example, if the system predicts with high confidence that the price of a particular stock will rise, the automated trading system will generate a signal to buy that stock. Conversely, if it predicts a price fall, it will generate a signal to sell the stock. It is also possible to adjust trading volume based on the confidence of the prediction. One possible adjustment would be to set a larger trading volume for trades based on a highly confident prediction and a smaller trading volume for trades based on a less confident prediction.

[0047] 3. Risk Management System: It can be used as a risk management system for financial institutions and hedge funds. The system can assess portfolio risk based on forecasts of price fluctuations of multiple assets and suggest measures to reduce risk. For example, if the system predicts a decline in the price of stocks in a particular sector, it will suggest reducing exposure to that sector. It can also make suggestions to maximize the effectiveness of diversification by taking into account the correlation between assets within the portfolio. It can also be used to generate stress testing scenarios. For example, it can generate scenarios such as "price fluctuations in the event of an important news event" or "price fluctuations in a high-volatility market" to assess portfolio risk.

[0048] 4. Market surveillance system: It can be used as a market surveillance system for regulators and exchanges. The system can monitor the deviation between predicted and actual prices to detect abnormal price fluctuations and possible market manipulation. For example, if the system detects that the price of a particular stock is significantly deviating from the model's prediction, it may indicate possible market manipulation or trading based on undisclosed information. Detecting such anomalies allows regulators to launch investigations and maintain market fairness and transparency.

[0049] 5. Economic Analysis System: It can be used as a tool for economists and policymakers to analyze economic trends. The system can provide insights into the overall health and future trends of the economy through forecasts of financial market trends. For example, the system can forecast stock indexes for multiple sectors and use those forecasts to estimate the growth rate of the overall economy and the stage of the business cycle. It can also predict the impact of specific policy changes (e.g., interest rate changes, regulatory changes) on financial markets, allowing policymakers to assess the effectiveness of those policies in advance.

[0050] 6. Financial Education Tools: It can be used as a tool for investment education and improving financial literacy. The system can help users understand financial market trends and price formation mechanisms by explaining the main factors that form the basis of the prediction. For example, the system can provide an explanation such as, "This stock price prediction is primarily based on recent quarterly earnings announcements (news factors) and past momentum (time series factors)," allowing users to understand the factors that influence price formation. It can also provide an explanation such as, "Stock prices in this sector are highly correlated with each other, and news about one company will affect the stock prices of other companies," allowing users to understand the interconnectedness of the market.

Claims

1. 1. A multimodal system for forecasting financial asset prices, comprising: a time series data acquisition unit that acquires time series data including the price, trading volume, and market indicators of the target financial asset over a predetermined period in the past; a news data acquisition unit that acquires news data related to the target financial asset; a time series processing unit that generates a first predicted value indicating future price fluctuations of the target financial asset by time series analysis processing using a Long Short-Term Memory (LSTM) network based on the time series data acquired by the time series data acquisition unit; a news processing unit that generates a second predicted value indicating future price fluctuations of the target financial asset based on the news data acquired by the news data acquisition unit, (a) a news vectorization means that converts each news article into a vector representation using a pre-trained language model (BERT, RoBERTa, or FinBERT); (b) A hierarchical time news aggregation means for defining a plurality of time windows of 1 day, 3 days, 7 days, and 30 days based on the target prediction date, calculating an aggregated vector by weighted averaging the news vectors in each time window by applying an exponential decay weight w(t) = exp(-λt) (where λ is a decay rate parameter ranging from 0.1 to 1.0) based on the time difference t between the target prediction date and the news release date, and concatenating the aggregated vectors of each time window to generate a hierarchical news representation; (c) a relevance-weighting news aggregation means for calculating a relevance score for each news article based on (i) the presence of a company name or ticker symbol in the title, (ii) the frequency of occurrence of keywords related to the target financial asset in the article body, and (iii) the presence or absence of a company mention in the opening part of the article, and weighting the news vector based on the relevance score; a news processing section including: a prediction integration unit that integrates the first predicted value generated by the time series processing unit and the second predicted value generated by the news processing unit to generate a final predicted value, (d) a sector-level correlation integration means for identifying the sector to which the target financial asset belongs, calculating the correlation coefficient of price fluctuations with other financial assets in the sector over a predetermined period in the past, identifying correlated assets whose absolute value of the correlation coefficient exceeds a predetermined threshold (a range of 0.5 to 0.8), and adjusting the first forecast value and the second forecast value based on the forecast value of the correlated assets; (e) an adaptive modality fusion means for dynamically determining a first weight w_ts for the first forecast value and a second weight w_news for the second forecast value based on a market volatility level, a news volume, and a news importance, and increasing the first weight in a high volatility market (volatility level is 0.7 or more) and increasing the second weight when an important news event is occurring (news importance is 0.7 or more and news volume is 0.6 or more); a prediction integration unit including: Equipped with The prediction integrator may calculate the adjusted first forecast value P_ts_adj and the adjusted second forecast value P_news_adj using the formula: P_final = (w_ts × P_ts_adj + w_news × P_news_adj) / (w_ts + w_news) The final predicted value is calculated by A multimodal system characterized by:

2. A method for predicting financial asset prices using the multimodal system of claim 1, a time series data acquisition step in which the time series data acquisition unit acquires time series data including the price, trading volume, and market indicators of the target financial asset for a predetermined period in the past; a news data acquisition step in which the news data acquisition unit acquires news data related to the target financial asset; a time series processing step in which the time series processing unit generates a first predicted value indicating future price fluctuations of the target financial asset by time series analysis processing using an LSTM network based on the time series data; The news processing unit, based on the news data, (a) Convert each news article into a vector representation using a pre-trained language model; (b) Define multiple time windows (1 day, 3 days, 7 days, 30 days) based on the prediction target date, calculate aggregated vectors by weighted averaging the news vectors within each time window using exponential decay weights based on temporal proximity, and concatenate the aggregated vectors for each time window to generate a hierarchical news representation; (c) weighting the news vectors based on the relevance score of each news article; a news processing step for generating a second forecast value indicating future price fluctuations of the target financial asset; a prediction integrating step in which the prediction integrating unit integrates the first predicted value and the second predicted value to generate a final predicted value, (d) identifying correlated assets within the sector to which the target financial asset belongs, and adjusting the first forecast value and the second forecast value based on the forecast value of the correlated assets; (e) dynamically determining a first weight for the first forecast value and a second weight for the second forecast value based on a market volatility level, a news volume, and a news importance; a prediction integrating step of calculating a final prediction value by weighting the adjusted first prediction value and the adjusted second prediction value with the first weight and the second weight; A method for predicting financial asset prices, comprising:

3. 2. The multimodal system of claim 1, The hierarchical temporal news aggregation means, for each time window w, calculates an aggregated vector A_w for N_w news vectors v_i within the time window and corresponding time lags t_i by the formula: A_w = Σ(i=1 to N_w) [exp(-λt_i) × v_i] / Σ(i=1 to N_w) exp(-λt_i) Calculated by The relevance weighted news aggregator calculates, for each news article i, a relevance score R_i according to the formula: R_i = α × I_title + β × log(1 + freq_keywords) + γ × I_position (Here, I_title is an indicator of the presence of a company name or ticker in the title (1 if present, 0 if not), freq_keywords is the number of times related keywords appear, I_position is an indicator of whether the company is mentioned in the opening part (1 if present, 0 if not), and α, β, and γ are weighting coefficients.) The weighted news vector v'_i is calculated by the formula: v'_i = (1 + R_i) × v_i Calculated by The sector-level correlation integration means calculates an adjustment amount Adjustment based on the predicted value P_j of the correlated asset j and the correlation coefficient ρ_j for the original predicted value P_original of the target financial asset using the formula: Adjustment = Σ(j∈CorrelatedAsset) [ρ_j ​​× P_j × |ρ_j|] / Σ(j∈CorrelatedAsset) |ρ_j| The adjusted predicted value P_adjusted is calculated using the formula: P_adjusted = P_original + α_sector × Adjustment (where α_sector is the damping coefficient in the range 0.1 to 0.5) Calculated by The adaptive modality fusion means is configured to calculate a first weight w_ts based on a volatility level V (ranging from 0 to 1) and a news importance N (ranging from 0 to 1) according to the formula: w_ts = 0.5 + 0.3 × V - 0.2 × N The second weight w_news is calculated by the formula: w_news = 1 - w_ts Calculated by A multimodal system characterized by:

Citation Information

Patent Citations

  • Information processing device, control method therefor, program, and learned model

    JP2021163073A

  • Methods and systems for predicting market behavior based on news and sentiment analysis

    US20130138577A1