{"about":{"site":"https://codewithpapers.app","non_affiliation":"Code with Papers and Syntology are not affiliated with, endorsed by, or sponsored by Papers with Code, Meta, or the pwc-archive mirror.","licence":"CC BY-SA 4.0","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","attribution":"https://codewithpapers.app/attribution","modified":"archive material modified by Syntology; see the attribution page"},"url":"/paper/arxiv-2511-08616","title":"Reasoning on Time-Series for Financial Technical Analysis","arxiv_id":"2511.08616","date":"2025-11-06","proceeding":"ICLR","authors":["Kelvin J. L. Koa","Jan Chen","Yunshan Ma","Huanhuan Zheng","Tat-Seng Chua"],"abstract":"While Large Language Models have been used to produce interpretable stock forecasts, they mainly focus on analyzing textual reports but not historical price data, also known as Technical Analysis. This task is challenging as it switches between domains: the stock price inputs and outputs lie in the time-series domain, while the reasoning step should be in natural language. In this work, we introduce Verbal Technical Analysis (VTA), a novel framework that combine verbal and latent reasoning to produce stock time-series forecasts that are both accurate and interpretable. To reason over time-series, we convert stock price data into textual annotations and optimize the reasoning trace using an inverse Mean Squared Error (MSE) reward objective. To produce time-series outputs from textual reasoning, we condition the outputs of a time-series backbone model on the reasoning-based attributes. Experiments on stock datasets across U.S., Chinese, and European markets show that VTA achieves state-of-the-art forecasting accuracy, while the reasoning traces also perform well on evaluation by industry experts.","url_abs":"https://arxiv.org/abs/2511.08616","url_pdf":"https://arxiv.org/pdf/2511.08616","source":{"archive":null,"snapshot":"2025-07-28","note":"not in the Papers with Code archive (frozen at the snapshot)","row_kind":"graph","title_abstract_authors_date":"arXiv metadata, CC0 1.0 (https://info.arxiv.org/help/license)"},"code_links":[],"tasks":[],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2511.08616","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2511.08616"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-24T18:15:14+00:00","read_at_is":"when the build read Syntology's graph, not when any sample ran","claim":"Per-sample execution status on synthesized fixtures; not a correctness claim about the paper. Samples come from repositories linked to the paper, official or community; repo_kind says which.","repos":[{"mentioned_in_github":null,"is_official":null,"provenance":"deterministic:regex_extraction","mentioned_in_paper":null,"url":"https://github.com/chen-jan/VTA","reach":null}],"summary":{"ran_draft_wrong":2,"ran_honours":3},"by_repo_kind":{"found_in_text":{"samples":5,"ran":5,"repositories":1}},"repo_kind_vocabulary":{"official":"The archive marks this repository official for the paper","named_in_paper":"The archive records that the paper mentions this repository; it is not marked official","listed":"In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper","found_in_text":"Syntology found this repository in the paper's own text; whether it is the authors' implementation is not asserted","community":"Not in the archive's code links for this paper; a community repository Syntology harvested"},"n_pointer_only_for_licence":0,"samples":[{"code_sha256_prefix":"0ca488eca4e32ee8","entry":"format_array","repo":"chen-jan/VTA","repo_kind":"found_in_text","path":"grpo/grpo_utils.py","file_url":"https://github.com/chen-jan/VTA/blob/HEAD/grpo/grpo_utils.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"0ca488eca4e32ee8"}},{"code_sha256_prefix":"d12beaa29aeb55a9","entry":"format_input_stats","repo":"chen-jan/VTA","repo_kind":"found_in_text","path":"grpo/grpo_utils.py","file_url":"https://github.com/chen-jan/VTA/blob/HEAD/grpo/grpo_utils.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"d12beaa29aeb55a9"}},{"code_sha256_prefix":"b5b65fda0663b6e9","entry":"safe_extract_float","repo":"chen-jan/VTA","repo_kind":"found_in_text","path":"grpo/grpo_utils.py","file_url":"https://github.com/chen-jan/VTA/blob/HEAD/grpo/grpo_utils.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"well_formed","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"b5b65fda0663b6e9"}},{"code_sha256_prefix":"0937633e65a9ecee","entry":"safe_extract_int","repo":"chen-jan/VTA","repo_kind":"found_in_text","path":"grpo/grpo_utils.py","file_url":"https://github.com/chen-jan/VTA/blob/HEAD/grpo/grpo_utils.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"well_formed","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"0937633e65a9ecee"}},{"code_sha256_prefix":"388eb35a6b3cbcce","entry":"safe_parse_array","repo":"chen-jan/VTA","repo_kind":"found_in_text","path":"grpo/grpo_utils.py","file_url":"https://github.com/chen-jan/VTA/blob/HEAD/grpo/grpo_utils.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"well_formed","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"388eb35a6b3cbcce"}}]},"arxiv_metadata":{"licence":"arXiv metadata, CC0 1.0 (https://info.arxiv.org/help/license)","fields":["title","abstract","authors","date"],"primary_category":"q-fin.ST","source":"arxiv_api"},"syntology_extracted_results":null}