{"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/finmamba-market-aware-graph-enhanced-multi","title":"FinMamba: Market-Aware Graph Enhanced Multi-Level Mamba for Stock Movement Prediction","arxiv_id":"2502.06707","date":"2025-02-10","proceeding":null,"authors":["Yifan Hu","Peiyuan Liu","Yuante Li","Dawei Cheng","Naiqi Li","Tao Dai","Jigang Bao","Shu-Tao Xia"],"abstract":"Recently, combining stock features with inter-stock correlations has become a common and effective approach for stock movement prediction. However, financial data presents significant challenges due to its low signal-to-noise ratio and the dynamic complexity of the market, which give rise to two key limitations in existing methods. First, the relationships between stocks are highly influenced by multifaceted factors including macroeconomic market dynamics, and current models fail to adaptively capture these evolving interactions under specific market conditions. Second, for the accuracy and timeliness required by real-world trading, existing financial data mining methods struggle to extract beneficial pattern-oriented dependencies from long historical data while maintaining high efficiency and low memory consumption. To address the limitations, we propose FinMamba, a Mamba-GNN-based framework for market-aware and multi-level hybrid stock movement prediction. Specifically, we devise a dynamic graph to learn the changing representations of inter-stock relationships by integrating a pruning module that adapts to market trends. Afterward, with a selective mechanism, the multi-level Mamba discards irrelevant information and resets states to skillfully recall historical patterns across multiple time scales with linear time costs, which are then jointly optimized for reliable prediction. Extensive experiments on U.S. and Chinese stock markets demonstrate the effectiveness of our proposed FinMamba, achieving state-of-the-art prediction accuracy and trading profitability, while maintaining low computational complexity. The code is available at https://github.com/TROUBADOUR000/FinMamba.","url_abs":"https://arxiv.org/abs/2502.06707v1","url_pdf":"https://arxiv.org/pdf/2502.06707v1.pdf","source":{"archive":"pwc-archive (Hugging Face), CC BY-SA 4.0","snapshot":"2025-07-28","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","row_kind":"links_only","authors_date_abstract":"arXiv metadata, CC0 1.0 (https://info.arxiv.org/help/license), from the Kaggle arXiv metadata snapshot of 2026-09-12"},"code_links":[{"paper_slug":"finmamba-market-aware-graph-enhanced-multi","repo_url":"https://github.com/troubadour000/finmamba","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"Apache-2.0"}}],"tasks":[],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":"https://syntology.ai/paper/2502.06707","atlas_url":"https://app.syntology.ai/?focus=2502.06707","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2502.06707"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-25T09:33:49+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":[{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/troubadour000/finmamba","reach":{"status":"ok","spdx":"Apache-2.0"}}],"summary":{"ran":9},"by_repo_kind":{"official":{"samples":9,"ran":9,"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":"cdd79b663f5fdb26","entry":"cal_pccs","repo":"troubadour000/finmamba","repo_kind":"official","path":"genRelation.py","file_url":"https://github.com/troubadour000/finmamba/blob/HEAD/genRelation.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"cdd79b663f5fdb26"}},{"code_sha256_prefix":"6faa004466f16e6c","entry":"cal_spearman","repo":"troubadour000/finmamba","repo_kind":"official","path":"genRelation.py","file_url":"https://github.com/troubadour000/finmamba/blob/HEAD/genRelation.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"6faa004466f16e6c"}},{"code_sha256_prefix":"80174b37e6620cfd","entry":"ensure_directory","repo":"troubadour000/finmamba","repo_kind":"official","path":"finmamba/utils.py","file_url":"https://github.com/troubadour000/finmamba/blob/HEAD/finmamba/utils.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"80174b37e6620cfd"}},{"code_sha256_prefix":"87ce323f06156072","entry":"gib_loss","repo":"troubadour000/finmamba","repo_kind":"official","path":"finmamba/models.py","file_url":"https://github.com/troubadour000/finmamba/blob/HEAD/finmamba/models.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"87ce323f06156072"}},{"code_sha256_prefix":"0dd55f399ad67fa7","entry":"normalize_panel_columns","repo":"troubadour000/finmamba","repo_kind":"official","path":"finmamba/data.py","file_url":"https://github.com/troubadour000/finmamba/blob/HEAD/finmamba/data.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"0dd55f399ad67fa7"}},{"code_sha256_prefix":"27e4510d0626fdea","entry":"resolve_device","repo":"troubadour000/finmamba","repo_kind":"official","path":"finmamba/utils.py","file_url":"https://github.com/troubadour000/finmamba/blob/HEAD/finmamba/utils.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"27e4510d0626fdea"}},{"code_sha256_prefix":"65f19cba2eb4c70d","entry":"resolve_device","repo":"troubadour000/finmamba","repo_kind":"official","path":"genRelation.py","file_url":"https://github.com/troubadour000/finmamba/blob/HEAD/genRelation.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"65f19cba2eb4c70d"}},{"code_sha256_prefix":"bcdb0c6284c6dd05","entry":"save_score_matrix","repo":"troubadour000/finmamba","repo_kind":"official","path":"finmamba/outputs.py","file_url":"https://github.com/troubadour000/finmamba/blob/HEAD/finmamba/outputs.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"bcdb0c6284c6dd05"}},{"code_sha256_prefix":"d1457f5cd7d60e18","entry":"topk_matrix","repo":"troubadour000/finmamba","repo_kind":"official","path":"finmamba/models.py","file_url":"https://github.com/troubadour000/finmamba/blob/HEAD/finmamba/models.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"d1457f5cd7d60e18"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}