暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Amazon Nova助力功夫源:提升金融数据分析效率,推动量化投资普惠化

亚马逊云科技 2025-01-02
214


关于功夫源


北京功夫源发展有限责任公司(以下简称“功夫源”)是一家金融科技公司,专注于向金融机构和个人投资者提供专业级金融交易系统和生成式AI驱动的在线金融数据服务,赋能C端用户零代码实现股票自定义多因子量化分析。


功夫源基于亚马逊云科技的多种云原生技术和生成式AI服务,实现了从底层架构到上层应用的快速技术升级,以及“化繁为简”的交互方式,为用户提供了流畅的使用体验。同时,功夫源科技将10年的金融交易数据应用的深度研发和运营经验,通过云原生在线化从B端转移到C端,为用户提供了TB级level2数据(深度行情数据,包含成交数据和订单队列数据)的在线实时深度分析。


关于Amazon Bedrock和

Amazon Nova


Amazon Bedrock是一项完全托管的服务,通过单个API提供来自AI21 Labs、Anthropic、Cohere、Meta、Mistral AI、Stability AI和亚马逊等领先人工智能公司的高性能基础模型,以及通过安全性、隐私性和负责任的人工智能构建生成式人工智能应用程序所需的一系列广泛功能。


Amazon Nova是亚马逊云科技最新、最先进的基础模型,可提供前沿智能和行业领先的性价比,仅在Amazon Bedrock中可用。Amazon Nova的创意内容生成类模型包括图像生成模型Amazon Nova Canvas和视频生成模型Amazon Nova Reel,理解类模型包括极低成本、极低延迟响应的Amazon Nova Micro、低成本多模态模型Amazon Nova Lite,和功能强大的多模态模型Amazon Nova Pro。



应用场景


随着生成式AI技术日新月异,很多行业都经历着前所未有的技术变革,金融量化交易这个与数据密不可分的赛道更需要快速拥抱这场新技术,进入智能量化新时代。

传统上,金融数据分析和交易系统主要由大型金融机构掌控,高质量的金融数据不仅要收取高昂的费用,数据的分析与应用所需要的金融工程工具也由于极高的知识门槛不能被绝大多数股票市场交易者掌握,这就造就极大的不公平,与现在提倡的“普惠金融”、“数据平权”相违背。

虽然“数据平权”近几年已经逐渐深入人心,但经调研后发现,普通用户对常规的技术指标,如布林带、MACD、RSI、CCI等只是“略有耳闻”,而这些指标背后代表的市场“量能走势”需要花费大量时间成本熟练掌握,才能在纷繁的数据中识别。绝大多数用户甚至会因为没有精力了解这些经典技术指标的作用,而直接认为其“无作用”,从而失去了量化指标的辅助,完全依靠“感觉”操作自己的交易。

功夫源基于其十年头部金融服务所沉淀的高质量数据分析处理和策略实现经验,第一时间拥抱生成式AI技术,将其引入到量化分析的业务流程中,结合 Amazon Bedrock提供的一系列大语言模型(LLM),包括Amazon Nova,构建了一套更智能、更高效的交易分析系统

功夫源推出的“功夫量化”工具为普通投资者带来了简单易用的金融数据分析服务,使得用户不用花费巨量资金与学习成本,也能享受到专业的金融投资建议与决策。普通投资者使用该工具能够:

  • 无需代码,以自然语言问答的方式即可迅速获取实时的数据分析结果;

  • 按照自身的选股思路,每日接受符合选股思路的标的推送;

  • 基于实时数据分析结果结合量化交易策略和市场洞察,第一时间监控市场异动,获取智能化投资决策。


更便捷的查询方式


为了让普通投资者能实现对Level2数据更深入的洞察,功夫源的功夫量化工具巧妙地把LLM融合进量化交易数据分析中。用户只需要指定时间和股票名称,选择策略模版,LLM会生成对应查询语句,结合后端数据分析系统就可以在TB级别的高质量Level2数据上执行分析,获取相关标的的详细成交数据和分析结果然后返回给用户。目前该工具支持对高精度的逐笔数据进行分时统计,不同维度的数据做横向对比,以及为付费用户提供自定义模版查询功能。



更直观的投资建议


为了让投资者更直观地了解数据背后的关联,功夫量化在数据查询结果的基础上,基于LLM的理解和生成的能力,综合不同策略下的数据指标,进一步进行快速且深入的市场分析,让LLM发现数据中的隐秘模式和关联,然后生成详细的诊股报告。



在上述场景中,功夫量化基于查询复杂度组合,使用了Amazon Bedrock上提供的一系列模型提供服务。Amazon Nova发布之后,功夫源在多个场景中使用了性价比更好的Amazon Nova Pro,比如部分固定模版的SQL语句生成、诊股报告的生成,实现了性能、准确率和成本三要素的最佳平衡。同时,功夫源也正在探索利用Amazon Nova Pro的多模态能力,对行情图做更加深入的数据洞察。


架构介绍


用户发起的量化分析行为实时且难以预测,用户随时可能启动程序进行策略分析或股票数据深度挖掘等行为,功夫源选择了具有敏捷性和快速扩展能力的无服务器技术。利用无服务器网关Amazon API Gateway和计算服务Amazon Lambda,搭建了面向C端用户的后端,同时基于无服务器编排服务Amazon Step Functions和Amazon Lambda,构建了一套先进的大数据处理框架。

本文重点探讨在量化金融领域中生成式AI应用场景部分的架构。功夫源以Amazon Bedrock为核心服务打造多模型协同架构,根据不同任务特点选择最适合的模型,部分Text2SQL以及诊股报告生成引入Amazon Nova Pro来替代之前使用的模型,在保持性能的同时兼具成本效益。简略的架构图如下:



  1. 用户通过移动端界面选择感兴趣的股票和时间区间,用户的查询请求通过Amazon API Gateway进入处理流程,确保安全和可控的API访问。

  2. Lambda函数接收用户请求,进行初步处理,请求被转发至Amazon Bedrock服务,不同复杂度的查询用不同LLM将自然语言查询智能转换为结构化的SQL查询语句。

  3. 查询语句发送到数据分析系统之后生成实时数据结果。

  4. 处理后的数据被传送回Amazon Bedrock,Amazon Nova Pro模型基于实时数据生成专业的诊股报告,报告包含技术分析、市场趋势和投资建议等关键信息。

  5. 应用层将实时数据查询结果和LLM生成的诊股报告整合,将完整的分析结果返回给用户界面,用户可以查看直观的数据可视化和专业的投资分析。


相关代码


Amazon Bedrock提供了对多个基础模型的统一API调用,Amazon Nova也是其中之一,完整的Sample code可以参考官方文档,以下是Amazon Nova的简单Converse API调用示例,对比之前使用的Amazon Bedrock中的其他模型,只需要更改Model ID字段即可。


    import boto3
    import json


    client = boto3.client("bedrock-runtime",region_name = 'us-east-1')
    MODEL_IDs = ["us.amazon.nova-pro-v1:0","us.amazon.nova-lite-v1:0","us.amazon.nova-micro-v1:0"]
    model = MODEL_IDs[0]
    def nova(model,prompt):
       lm_system = """ You are young, critical of reality, thoughtful, witty in language, quantitative trading expert and with a keen sensitivity and rigor towards data. Please answer business questions related to quantitative trading according to the requirements and strictly follow the way of reply by requirement. Your thinking of chain should follow the steps in <amazon_nova_thinking_protocol> tags.


    <amazon_nova_thinking_protocol>
    ...
    </amazon_nova_thinking_protocol>
    """
       prompt = prompt
       messages = [
           {
               "role": "user",
               "content": [{"text": prompt}]
           },
           {
               "role": "assistant",
               "content": [{"text": "Here is my JSON analysis result:\n```json"}]
           }
       ]
       # stopSequences for end with }
       inf_params = {"maxTokens": 300, "topP": 0.1, "temperature": 0.1, "stopSequences": ["}"]}


       additionalModelRequestFields = {
           "inferenceConfig": {
               "topK": 20
           }
       }
       try:
           model_response = bedrock.converse(
               modelId=model_id,
               messages=messages,
               system=system,
               inferenceConfig=inf_params,
               additionalModelRequestFields=additionalModelRequestFields
           )


           response_body = model_response["output"]["message"]["content"][0]["text"]
           return response_body
       
       except Exception as e:
           print(f"Error invoking Bedrock: {str(e)}")
           return None

    左右滑动查看完整示意


    以诊股报告生成场景为例,需要LLM在大量时序数据和金融知识基础上给出指定的分析报告,对LLM的理解和推理能力有一定要求,所以功夫量化选取了Amazon Nova系列模型中能力比较强的Amazon Nova Pro。Amazon Nova Pro在与其他第一梯队模型的20项基准测试中,有17项表现相当或更优。

    在Amazon Nova Pro的Prompt中给定量化交易相关背景知识,以及分析的具体思路和要求,测试后发现Amazon Nova生成的报告详细程度比肩 Amazon Bedrock中表现最佳的模型。目前,功夫量化针对大部分普通用户已经使用Amazon Nova Pro来做诊股报告的生成,为用户提供量化策略的意见。

    Amazon Nova Pro的Prompt部分如下:


      Your task is to analyze the content within <origin_input> tag and extract valuable insights related to opportunities and risks and give a professional Analysis Report (sometimes output as JSON). Remember "Q&As" stands for "Questions and Answers".


      Take a little breath and analyse the content within <origin_input> tag step by step.


      Ensure that the analysis covers every single trading day within the specified period, with a focus on unusual movements, significant changes in technical indicators, and overall market trends.


      <Market_Analysis_Protocol>
       <Analysis_Process>
         # Analysis Steps:
           1. Comprehensive Daily Analysis:
             - Analyze EVERY SINGLE TRADING DAY in the input data, from the earliest to the latest date.
             - For each date, compare its data to the average of the *previous* 5 trading days.
             - Identify unusual movements based on the defined criteria for EACH DAY.
             - Ensure equal depth of analysis for all dates, avoiding bias towards recent data.


           2. Historical Context Review:
             - Identify patterns, trends, and unusual movements across the entire date range.
             - Focus on major trends and recurring patterns relevant to the entire period.


           3. Comprehensive Evaluation:
             - Analyze factor interaction patterns and behavioral shifts across the entire period.
             - Identify overarching trends and significant changes in market structure.
       
         # Signal Validation Steps:
           1. Individual Factor Analysis
             - Compare to thresholds
             - Check time consistency
             - Verify signal strength
           
           2. Cross-Factor Confirmation
             - Minimum 2-factor alignment
             - Time window matching
             - Pattern consistency


           3. False Signal Filtering
             - Threshold validation
             - Pattern completion check
             - Multi-timeframe confirmation
             
         # Output Compilation:
           - Ensure ALL identified unusual movements for each trading day, are grouped under the same trading day entry, and included in the final output.
           - Maintain chronological order in reporting unusual movements.
           - Provide a balanced analysis that gives equal weight to all trading days in the dataset.
       </Analysis_Process>


       <Unusual_Movement_Detection>
         ...
       </Unusual_Movement_Detection>


       <Data_Analysis_Requirements>
         ...
       </Data_Analysis_Requirements>


       <Output_Standards>
         ...
       </Output_Standards>


       <Data_Structure>
         ...
       </Data_Structure>


       <Critical_Reminders>
         ...
       </Critical_Reminders>


      </Market_Analysis_Protocol>

      左右滑动查看完整示意


      Amazon Nova Pro生成的结果如下,第一部分是自我思考过程:


        #####
        【思考过程】


        嗯,这是一个关于东风股份(600006)的多维度市场分析。我需要仔细梳理每个交易日的异常变动,特别关注最近几天的趋势和潜在影响。


        首先,我注意到几个关键的异常变动时间点:
        1. 2024122320241224是最近的两个交易日,异常变动较为集中
        2. 202412172024121820241219也出现了一些显著的异常指标


        我将逐步分析这些异常变动,重点关注:
        - 指数涨幅异常
        - 技术指标(KDJ、乖离率)变化
        - 个股与行业相对涨幅
        - 市场结构和资金流向


        对于2024122320241224,异常变动较为复杂:
        - 指数涨幅出现异常
        - KDJ指标的K、D值发生显著变化
        - 个股和行业涨幅出现较大偏离
        - 乖离率持续处于负值且变化明显


        这些异常变动背后可能隐含着市场情绪和资金流向的重要信号。我需要深入解析每一个异常点的具体含义和潜在影响。


        关键分析维度:
        1. 技术面:KDJ指标显示持续低迷
        2. 相对涨幅:个股表现显著弱于大盘和行业
        3. 趋势判断:短期内呈现震荡下行态势


        接下来我将系统性地梳理每个异常变动点的具体implications。

        左右滑动查看完整示意


        然后是部分输出结果:


          {
             "all_unusual_movements": [
                 {
                     "trading_day": "20241224",
                     "name": "多维度异常",
                     "descriptions": [
                         {
                             "name": "指数涨幅",
                             "description": "较5日平均增长1.318%,高于历史波动范围"
                         },
                         {
                             "name": "行业涨幅",
                             "description": "较5日平均增长1.605%,显著高于大盘表现"
                         },
                         {
                             "name": "D值",
                             "description": "出现异常波动,显著低于前期水平"
                         }
                     ],
                     "analysis": "市场出现短期反弹迹象,行业板块表现强于大盘,但个股未能充分受益。技术指标显示市场情绪仍处于谨慎状态,可能面临震荡调整压力。",
                     "value_judgement": "negative"
                 },
                 {
                     "trading_day": "20241223",
                     ...
                 },
                 {
                     "trading_day": "20241217",
                     ...
                 }
             ],
             "overall_analysis": [
                 {
                     "name": "技术面",
                     "content": "近期股价持续承压,KDJ指标显示市场情绪低迷。未来3-5天可能面临震荡调整,但存在技术性反弹可能。",
                     "value_judgement": "negative"
                 },
                 {
                     "name": "资金面",
                     ...
                 }
             ],
             "risks": [
                 {
                     "name": "技术性调整风险",
                     "description": "股价持续低于10日均线,可能触发进一步下探。建议密切关注支撑位情况。"
                 },
                 {
                     "name": "行业分化风险",
                     "description": "个股表现显著落后于行业平均水平,可能面临持续分化压力。"
                 }
             ],
             "opportunities": [
                 {
                     "name": "技术性反弹机会",
                     "description": "当前股价已严重偏离均线,短期内存在技术性反弹可能。建议关注低吸时机。"
                 },
                 {
                     "name": "行业轮动可能",
                     "description": "行业板块整体表现相对强势,个股调整可能为新的投资机会提供契机。"
                 }
             ]
          }

          左右滑动查看完整示意


          在Amazon Nova的测试过程中,有一些关于调整提示词的实践经验如下:

          • 使用Role Prompt的技巧,可以在System prompt中引导Amazon Nova Pro聚焦金融量化的特定场景。

          • 在Prompt中通过Chain of thought的方式,可以让Amazon Nova在复杂任务中有思考的过程,并输出思考过程。

          • 在Prompt中突出重点,比如指定Json输出和解释Output字段,有助于更好地控制Amazon Nova的输出。

          • 在分析时间序列异动场景中,Amazon Nova Pro在处理时序数据时,最好先输出数据再进行分析,效果会更好。除了提供原始数据外,可以根据量化策略提前对数据进行统计分析,将原始数据和统计数据一起作为输入,可让Amazon Nova Pro获得更准确的数据洞察。


          客户收益


          功夫量化通过引入Amazon Bedrock,尤其是最新的Amazon Nova Pro模型,在多个关键指标上实现了显著突破。

          在成本效益方面,Amazon Nova Pro展现出了卓越的性价比优势:在保持与第一梯队模型相当效果的同时,定价更具竞争力,Input token仅需$0.8/M token、Output token仅需$3.2/M token使得LLM推理成本降幅达到75%。功夫量化在部分场景引入Amazon Nova Pro之后,生成式AI成本在总体IT成本中的占比从80%降低至26%,实现了更具竞争力的成本结构

          在面向C端用户的场景中,推理延时是影响用户体验的关键因素。Amazon Nova Pro在这方面表现出色,输出速度达到每秒100个token,较原先使用模型的57个token/秒提升了75%。这一性能提升直接反映在业务场景中,使得诊股报告的生成时间缩短了40%,大幅改善了用户体验,充分展现了新一代模型在实际应用中的技术优势。


          总结


          通过云原生架构和生成式AI服务的结合,功夫源成功将专业级的量化分析工具普惠化,使其能够服务于更广泛的用户群体。在使用Amazon Nova之后,功夫源进一步降低了LLM推理成本和延迟,优化客户交互体验。展望未来,功夫源将继续探索Amazon Nova Pro的多模态能力,进一步优化用户交互体验,并不断拓展创新的应用场景。功夫源在金融科技领域的创新性尝试为金融服务的智能化转型提供了有价值的参考。通过持续优化和创新,功夫源将继续为用户提供更智能、更高效的量化投资解决方案。


          参考链接

          1.https://www.kungfu-trader.com

          2.https://docs.aws.amazon.com/zh_cn/nova/latest/userguide/using-converse-api.html

          3.https://docs.aws.amazon.com/zh_cn/nova/latest/userguide/prompting-precision.html


          本文作者



          董可人

          功夫源科技创始人,利物浦大学计算机科学博士学位,深耕量化交易和高频做市领域,曾任凯纳资本 CTO和Arctic Lake Solutions合伙人,著有《我是高频交易工程师》。


          张奕智

          功夫源科技产品技术负责人,近10年高频量化产品开发经验,研究并探索大模型在金融交易领域应用,参与并推进了大模型在量化策略代码生成,基于量化指标进行专业大模型分析等方向的落地。


          汪其香

          亚马逊云科技解决方案架构师,负责基于亚马逊云科技云服务的架构咨询和设计实现,具有丰富的解决客户实际问题的经验,同时热衷于生成式AI、深度学习的研究与应用。


          张玉龙

          亚马逊云科技解决方案架构师,有超过10年的研发及架构设计经验。目前致力于推广亚马逊云科技的技术和各种解决方案。






          期待你的分享  收藏  在看  点赞

          亚马逊的一小步,云计算的一大步!


          点击阅读原文,获取更多精彩内容!

          文章转载自亚马逊云科技,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

          评论