{"id":217599,"date":"2025-01-21T01:41:13","date_gmt":"2025-01-21T06:41:13","guid":{"rendered":"https:\/\/ibkrcampus.com\/campus\/?p=217599"},"modified":"2025-01-21T13:41:38","modified_gmt":"2025-01-21T18:41:38","slug":"langchain-for-equity-investment-analysis","status":"publish","type":"post","link":"https:\/\/www.interactivebrokers.com\/campus\/ibkr-quant-news\/langchain-for-equity-investment-analysis\/","title":{"rendered":"LangChain for Equity Investment Analysis"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\"><em>The article &#8220;LangChain for Equity Investment Analysis&#8221; was originally posted on <a href=\"https:\/\/blog.quantinsti.com\/langchain-trading-stock-analysis-llm-financial-python\/\">QuantInsti<\/a> blog.<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong><em>The author of this article is not affiliated with Interactive Brokers. This software is in no way affiliated, endorsed, or approved by Interactive Brokers or any of its affiliates. It comes with absolutely no warranty and should not be used in actual trading unless the user can read and understand the source. The IBKR API team does not support this software<\/em><\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Investment analysts increasingly use artificial intelligence to process financial data, identify trends, and gain deeper insights. LangChain is a promising open-source framework that brings the power of language models like GPT into investment analysis. This blog will explore how LangChain can ease the initial investment research process, from integrating financial data sources to creating sophisticated, custom models that provide predictive insights.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In this blog, we will explore the following:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Why LangChain?<\/li>\n\n\n\n<li>What is LangChain?<\/li>\n\n\n\n<li>Components of Langchain<\/li>\n\n\n\n<li>Equity analysis using LangChain and OpenAI in Python<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-why-langchain\">Why LangChain?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Let\u2019s ask ChatGPT to analyze the performance of the NIFTY50 index using price data for the last 5 years.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" data-src=\"https:\/\/www.interactivebrokers.com\/campus\/wp-content\/uploads\/sites\/2\/2025\/01\/quantinsti-Why-langchain.png\" alt=\"\" class=\"wp-image-217601 lazyload\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">As you can see from the response above, ChatGPT has no data readily available to do the analysis.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Here is where LangChain comes to our rescue. LangChain facilitates the integration of financial data sources with the LLMs, reshaping how investors analyze and interpret market data. LangChain&#8217;s ability to analyze large volumes of textual data, including news articles, earnings reports, and social media sentiment, provides analysts with richer and more timely insights, aiding in better investment decisions.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-what-is-langchain\">What is LangChain?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">LangChain acts as an interface between large language models and external data sources to create AI-powered applications. LangChain allows developers to build real-world applications that connect to databases, retrieve information, process inputs, and offer structured output.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"720\" height=\"309\" data-src=\"https:\/\/www.interactivebrokers.com\/campus\/wp-content\/uploads\/sites\/2\/2025\/01\/quantinsti-langchain.png\" alt=\"\" class=\"wp-image-217604 lazyload\" data-srcset=\"https:\/\/ibkrcampus.com\/campus\/wp-content\/uploads\/sites\/2\/2025\/01\/quantinsti-langchain.png 720w, https:\/\/ibkrcampus.com\/campus\/wp-content\/uploads\/sites\/2\/2025\/01\/quantinsti-langchain-700x300.png 700w, https:\/\/ibkrcampus.com\/campus\/wp-content\/uploads\/sites\/2\/2025\/01\/quantinsti-langchain-300x129.png 300w\" data-sizes=\"(max-width: 720px) 100vw, 720px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 720px; aspect-ratio: 720\/309;\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">LLMs are deep-learning models trained on large amounts of data that can generate responses to user queries. LangChain provides tools and abstractions to improve the customization, accuracy, and relevancy of the information the models generate. LangChain supports a wide range of LLM models. (List of supported LLMs:<a href=\"https:\/\/python.langchain.com\/docs\/integrations\/llms\/\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/python.langchain.com\/docs\/integrations\/llms\/<\/a>)<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"components-of-langchain\">Components of LangChain<\/h3>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" data-src=\"https:\/\/www.interactivebrokers.com\/campus\/wp-content\/uploads\/sites\/2\/2025\/01\/quantinst0components-of-langchain.png\" alt=\"\" class=\"wp-image-217605 lazyload\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Let\u2019s now demonstrate how to implement the components of LangChain in Python.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The version of langchain_openai used is mentioned below(for 1 to 3):<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" data-src=\"https:\/\/www.interactivebrokers.com\/campus\/wp-content\/uploads\/sites\/2\/2025\/01\/quantinsti-lanchain-python-21.png\" alt=\"\" class=\"wp-image-217652 lazyload\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" \/><\/figure>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Using LLMs<\/strong><\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">LangChain allows the integration of multiple LLMs (Large Language Models) through prompting, enabling the generation of sophisticated responses tailored to specific tasks or queries.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Temperature talks about the amount of randomness in the model.<br>If it is set to zero, we get a deterministic output, i.e. same output each time you run the code.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Output:<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" data-src=\"https:\/\/www.interactivebrokers.com\/campus\/wp-content\/uploads\/sites\/2\/2025\/01\/quantinsti-lanchain-python-22.png\" alt=\"\" class=\"wp-image-217654 lazyload\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Here the output consists of many elements, we are interested only in the content part. Hence, to extract only the content part you can do the following:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" data-src=\"https:\/\/www.interactivebrokers.com\/campus\/wp-content\/uploads\/sites\/2\/2025\/01\/quantinsti-lanchain-python-25.png\" alt=\"\" class=\"wp-image-217656 lazyload\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>2.&nbsp;Prompt Templates<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Prompt templates are predefined structures or formats that generate prompts for language models like GPT-4. These templates help craft consistent and contextually relevant queries or commands to obtain desired responses from the model. Prompt templates can include placeholders that are dynamically filled with specific data or parameters.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" data-src=\"https:\/\/www.interactivebrokers.com\/campus\/wp-content\/uploads\/sites\/2\/2025\/01\/quantinsti-lanchain-python-26.png\" alt=\"\" class=\"wp-image-217657 lazyload\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>3.&nbsp;Chains<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A \u201cchain\u201d refers to a sequence of steps or operations linked together to perform a complex task using language models. Chains can combine multiple prompt templates, data processing steps, API calls, and other actions to build robust and reusable workflows for natural language processing tasks.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The expression \u201cchain = prompt | llm\u201d creates a sequence where a prompt is passed through an LLM to generate a response.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" data-src=\"https:\/\/www.interactivebrokers.com\/campus\/wp-content\/uploads\/sites\/2\/2025\/01\/quantinsti-lanchain-python-5.png\" alt=\"\" class=\"wp-image-217625 lazyload\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">A &#8220;batch&#8221; refers to simultaneously processing multiple data instances through the chain. This can significantly enhance efficiency by leveraging parallel processing, where multiple data inputs are processed together in one go instead of sequentially.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" data-src=\"https:\/\/www.interactivebrokers.com\/campus\/wp-content\/uploads\/sites\/2\/2025\/01\/quantinsti-lanchain-python-6.png\" alt=\"\" class=\"wp-image-217626 lazyload\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>4.&nbsp;Agents<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">An &#8220;agent&#8221; is an autonomous entity that performs specific tasks using language models. Agents can make decisions, execute actions, and interact with various data sources or APIs based on the tasks they are designed to handle. LangChain agents are typically used to automate complex workflows, perform real-time decision-making, and interact with users or systems dynamically.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The tool in the example below is PythonREPLTool(), which lets you run Python code within a LangChain agent or chain. This allows you to process, analyze, or compute data directly using Python code while interacting with other parts of LangChain, such as LLMs, prompts, and external data sources.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Please note that LangChain version of the below code is<em><strong>&nbsp;\u201clangchain-core&lt;0.2\u201d<\/strong><\/em><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" data-src=\"https:\/\/www.interactivebrokers.com\/campus\/wp-content\/uploads\/sites\/2\/2025\/01\/quantinsti-lanchain-python-7.png\" alt=\"\" class=\"wp-image-217629 lazyload\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"720\" height=\"371\" data-src=\"https:\/\/www.interactivebrokers.com\/campus\/wp-content\/uploads\/sites\/2\/2025\/01\/quantinsti-lanchain-python-8.png\" alt=\"\" class=\"wp-image-217630 lazyload\" data-srcset=\"https:\/\/ibkrcampus.com\/campus\/wp-content\/uploads\/sites\/2\/2025\/01\/quantinsti-lanchain-python-8.png 720w, https:\/\/ibkrcampus.com\/campus\/wp-content\/uploads\/sites\/2\/2025\/01\/quantinsti-lanchain-python-8-700x361.png 700w, https:\/\/ibkrcampus.com\/campus\/wp-content\/uploads\/sites\/2\/2025\/01\/quantinsti-lanchain-python-8-300x155.png 300w\" data-sizes=\"(max-width: 720px) 100vw, 720px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 720px; aspect-ratio: 720\/371;\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Let\u2019s now see how we can use these components to analyze equities using different data sources.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-equity-analysis-using-langchain-and-openai-in-python\">Equity analysis using LangChain and OpenAI in Python<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Let\u2019s now build a simple LLM-based application, to analyze if a given stock ticker is a worthy candidate to consider for investing.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This application uses the following data:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Google news<\/li>\n\n\n\n<li>Historical data on the stock<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">ChatGPT agent uses this data to synthesize the data and generate a response.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In this code, we will use agents to generate responses. You can also use&nbsp;<a href=\"https:\/\/platform.openai.com\/docs\/guides\/function-calling\" target=\"_blank\" rel=\"noreferrer noopener\">function calling<\/a>&nbsp;for a more structured output.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Pre-requisites:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>An OpenAI API key is required. You can visit the&nbsp;<a href=\"https:\/\/openai.com\/index\/openai-api\/\" target=\"_blank\" rel=\"noreferrer noopener\">link<\/a>&nbsp;to sign up and generate the API key. Please note the API key is available at a cost.<\/li>\n\n\n\n<li>SERP API key is required. You can visit this&nbsp;<a href=\"https:\/\/serpapi.com\/\" target=\"_blank\" rel=\"noreferrer noopener\">link<\/a>&nbsp;to create an API key. This API is required to obtain the latest news of a particular ticker.<\/li>\n<\/ul>\n\n\n\n<ol class=\"wp-block-list\">\n<li><em>Import the libraries.<\/em><br><\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">Before we start importing the necessary libraries, ensure that you install the below-mentioned version of the Pydantic library.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" data-src=\"https:\/\/www.interactivebrokers.com\/campus\/wp-content\/uploads\/sites\/2\/2025\/01\/quantinsti-lanchain-python-9.jpg\" alt=\"\" class=\"wp-image-217634 lazyload\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Now import the required libraries as shown below:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" data-src=\"https:\/\/www.interactivebrokers.com\/campus\/wp-content\/uploads\/sites\/2\/2025\/01\/quantinsti-lanchain-python-10.png\" alt=\"\" class=\"wp-image-217635 lazyload\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">The langChain_core.tools module in LangChain is designed to define and manage tools that agents can used or integrate into workflows. Tools in LangChain represent discrete functionalities that an agent can invoke to perform specific tasks, such as calculations, database queries, web searches, or API interactions.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The langchain.agents library in LangChain provides the framework for building and running agents\u2014LLM-powered systems capable of reasoning, decision-making, and dynamically using tools to perform tasks. Agents follow a thought-action-observation loop, where they &#8220;think&#8221; about the next action to take, execute the action (often by invoking tools), and &#8220;observe&#8221; the result before proceeding.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The langchain_core.prompts library is a crucial part of LangChain, providing tools to design, manipulate, and manage prompts for language models. Prompts serve as the instructions or templates that guide the behavior of a language model. This library supports creating flexible and dynamic prompts for tasks such as question answering, summarization, and custom workflows.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><em>2.&nbsp;Get the latest news on ticker.<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Define a function to get the latest news for the ticker using SERP API. Plug in your API key in place of \u201cYOUR_SERPAPI_API_KEY\u201d.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" data-src=\"https:\/\/www.interactivebrokers.com\/campus\/wp-content\/uploads\/sites\/2\/2025\/01\/quantinsti-lanchain-python-12.png\" alt=\"\" class=\"wp-image-217637 lazyload\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><em>3.&nbsp;Get the historical price data.<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Extract one year of historical stock price data using Yahoo Finance.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" data-src=\"https:\/\/www.interactivebrokers.com\/campus\/wp-content\/uploads\/sites\/2\/2025\/01\/quantinsti-lanchain-python-13.png\" alt=\"\" class=\"wp-image-217638 lazyload\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><em>4.&nbsp;Function to analyze whether to invest or not.<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Define a function to define the rules to decide whether to invest.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" data-src=\"https:\/\/www.interactivebrokers.com\/campus\/wp-content\/uploads\/sites\/2\/2025\/01\/quantinsti-lanchain-python-14.png\" alt=\"\" class=\"wp-image-217640 lazyload\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><em>5.&nbsp;Define the tools<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Define the functions we defined in the previous steps as three tools: get_news, get_historical_data, and analyze_stock.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" data-src=\"https:\/\/www.interactivebrokers.com\/campus\/wp-content\/uploads\/sites\/2\/2025\/01\/quantinsti-lanchain-python-15.png\" alt=\"\" class=\"wp-image-217641 lazyload\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><em>6.&nbsp;Define the prompt.<\/em><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" data-src=\"https:\/\/www.interactivebrokers.com\/campus\/wp-content\/uploads\/sites\/2\/2025\/01\/quantinsti-lanchain-python-16.png\" alt=\"\" class=\"wp-image-217643 lazyload\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" data-src=\"https:\/\/www.interactivebrokers.com\/campus\/wp-content\/uploads\/sites\/2\/2025\/01\/quantinsti-lanchain-python-17.png\" alt=\"\" class=\"wp-image-217645 lazyload\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><em>7.&nbsp;Create the agent and generate the response.<\/em><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" data-src=\"https:\/\/www.interactivebrokers.com\/campus\/wp-content\/uploads\/sites\/2\/2025\/01\/quantinsti-lanchain-python-18.png\" alt=\"\" class=\"wp-image-217646 lazyload\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Responses<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Response 1:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" data-src=\"https:\/\/www.interactivebrokers.com\/campus\/wp-content\/uploads\/sites\/2\/2025\/01\/quantinsti-lanchain-python-19.png\" alt=\"\" class=\"wp-image-217649 lazyload\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Response 2:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" data-src=\"https:\/\/www.interactivebrokers.com\/campus\/wp-content\/uploads\/sites\/2\/2025\/01\/quantinsti-lanchain-python-20.png\" alt=\"\" class=\"wp-image-217650 lazyload\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">We have successfully implemented a basic equity analyzer based on historical data and the latest news.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The responses are just a preliminary analysis based on the data and context provided and require further research. The responses should not be considered professional advice or a definitive solution. The blog demonstrates how, by integrating financial sources(historical data and news), LLMs can assist in analyzing trends and providing data-driven insights, enabling quicker and more informed decisions.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>LangChain is a promising open-source framework that brings the power of language models like GPT into investment analysis.<\/p>\n","protected":false},"author":1565,"featured_media":199210,"comment_status":"open","ping_status":"closed","sticky":true,"template":"","format":"standard","meta":{"_acf_changed":true,"footnotes":"","jetpack_post_was_ever_published":false},"categories":[339,343,349,338,341],"tags":[14403,18286,852,14715,595,18287,6674],"contributors-categories":[13654],"class_list":["post-217599","post","type-post","status-publish","format-standard","has-post-thumbnail","category-data-science","category-programing-languages","category-python-development","category-ibkr-quant-news","category-quant-development","tag-chatgpt","tag-langchain","tag-machine-learning","tag-openai","tag-python","tag-pythonrepltool","tag-yfinance","contributors-categories-quantinsti"],"pp_statuses_selecting_workflow":false,"pp_workflow_action":"current","pp_status_selection":"publish","acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v26.9 (Yoast SEO v27.8) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>LangChain for Equity Investment Analysis | IBKR Quant<\/title>\n<meta name=\"description\" content=\"LangChain is a promising open-source framework that brings the power of language models like GPT into investment analysis.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.interactivebrokers.com\/campus\/wp-json\/wp\/v2\/posts\/217599\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"LangChain for Equity Investment Analysis\" \/>\n<meta property=\"og:description\" content=\"LangChain is a promising open-source framework that brings the power of language models like GPT into investment analysis.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.interactivebrokers.com\/campus\/ibkr-quant-news\/langchain-for-equity-investment-analysis\/\" \/>\n<meta property=\"og:site_name\" content=\"IBKR Campus US\" \/>\n<meta property=\"article:published_time\" content=\"2025-01-21T06:41:13+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-01-21T18:41:38+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.interactivebrokers.com\/campus\/wp-content\/uploads\/sites\/2\/2023\/11\/chat-gpt-featured-img.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1000\" \/>\n\t<meta property=\"og:image:height\" content=\"563\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Manusha Rao\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Manusha Rao\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"10 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\n\t    \"@context\": \"https:\\\/\\\/schema.org\",\n\t    \"@graph\": [\n\t        {\n\t            \"@type\": \"NewsArticle\",\n\t            \"@id\": \"https:\\\/\\\/ibkrcampus.com\\\/campus\\\/ibkr-quant-news\\\/langchain-for-equity-investment-analysis\\\/#article\",\n\t            \"isPartOf\": {\n\t                \"@id\": \"https:\\\/\\\/ibkrcampus.com\\\/campus\\\/ibkr-quant-news\\\/langchain-for-equity-investment-analysis\\\/\"\n\t            },\n\t            \"author\": {\n\t                \"name\": \"Manusha Rao\",\n\t                \"@id\": \"https:\\\/\\\/ibkrcampus.com\\\/campus\\\/#\\\/schema\\\/person\\\/73e52fd8dc32476d2bcbca771d926407\"\n\t            },\n\t            \"headline\": \"LangChain for Equity Investment Analysis\",\n\t            \"datePublished\": \"2025-01-21T06:41:13+00:00\",\n\t            \"dateModified\": \"2025-01-21T18:41:38+00:00\",\n\t            \"mainEntityOfPage\": {\n\t                \"@id\": \"https:\\\/\\\/ibkrcampus.com\\\/campus\\\/ibkr-quant-news\\\/langchain-for-equity-investment-analysis\\\/\"\n\t            },\n\t            \"wordCount\": 1264,\n\t            \"commentCount\": 0,\n\t            \"publisher\": {\n\t                \"@id\": \"https:\\\/\\\/ibkrcampus.com\\\/campus\\\/#organization\"\n\t            },\n\t            \"image\": {\n\t                \"@id\": \"https:\\\/\\\/ibkrcampus.com\\\/campus\\\/ibkr-quant-news\\\/langchain-for-equity-investment-analysis\\\/#primaryimage\"\n\t            },\n\t            \"thumbnailUrl\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/wp-content\\\/uploads\\\/sites\\\/2\\\/2023\\\/11\\\/chat-gpt-featured-img.jpg\",\n\t            \"keywords\": [\n\t                \"ChatGPT\",\n\t                \"LangChain\",\n\t                \"Machine Learning\",\n\t                \"OpenAI\",\n\t                \"Python\",\n\t                \"PythonREPLTool()\",\n\t                \"yfinance\"\n\t            ],\n\t            \"articleSection\": [\n\t                \"Data Science\",\n\t                \"Programming Languages\",\n\t                \"Python Development\",\n\t                \"Quant\",\n\t                \"Quant Development\"\n\t            ],\n\t            \"inLanguage\": \"en-US\",\n\t            \"potentialAction\": [\n\t                {\n\t                    \"@type\": \"CommentAction\",\n\t                    \"name\": \"Comment\",\n\t                    \"target\": [\n\t                        \"https:\\\/\\\/ibkrcampus.com\\\/campus\\\/ibkr-quant-news\\\/langchain-for-equity-investment-analysis\\\/#respond\"\n\t                    ]\n\t                }\n\t            ]\n\t        },\n\t        {\n\t            \"@type\": \"WebPage\",\n\t            \"@id\": \"https:\\\/\\\/ibkrcampus.com\\\/campus\\\/ibkr-quant-news\\\/langchain-for-equity-investment-analysis\\\/\",\n\t            \"url\": \"https:\\\/\\\/ibkrcampus.com\\\/campus\\\/ibkr-quant-news\\\/langchain-for-equity-investment-analysis\\\/\",\n\t            \"name\": \"LangChain for Equity Investment Analysis | IBKR Campus US\",\n\t            \"isPartOf\": {\n\t                \"@id\": \"https:\\\/\\\/ibkrcampus.com\\\/campus\\\/#website\"\n\t            },\n\t            \"primaryImageOfPage\": {\n\t                \"@id\": \"https:\\\/\\\/ibkrcampus.com\\\/campus\\\/ibkr-quant-news\\\/langchain-for-equity-investment-analysis\\\/#primaryimage\"\n\t            },\n\t            \"image\": {\n\t                \"@id\": \"https:\\\/\\\/ibkrcampus.com\\\/campus\\\/ibkr-quant-news\\\/langchain-for-equity-investment-analysis\\\/#primaryimage\"\n\t            },\n\t            \"thumbnailUrl\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/wp-content\\\/uploads\\\/sites\\\/2\\\/2023\\\/11\\\/chat-gpt-featured-img.jpg\",\n\t            \"datePublished\": \"2025-01-21T06:41:13+00:00\",\n\t            \"dateModified\": \"2025-01-21T18:41:38+00:00\",\n\t            \"description\": \"LangChain is a promising open-source framework that brings the power of language models like GPT into investment analysis.\",\n\t            \"inLanguage\": \"en-US\",\n\t            \"potentialAction\": [\n\t                {\n\t                    \"@type\": \"ReadAction\",\n\t                    \"target\": [\n\t                        \"https:\\\/\\\/ibkrcampus.com\\\/campus\\\/ibkr-quant-news\\\/langchain-for-equity-investment-analysis\\\/\"\n\t                    ]\n\t                }\n\t            ]\n\t        },\n\t        {\n\t            \"@type\": \"ImageObject\",\n\t            \"inLanguage\": \"en-US\",\n\t            \"@id\": \"https:\\\/\\\/ibkrcampus.com\\\/campus\\\/ibkr-quant-news\\\/langchain-for-equity-investment-analysis\\\/#primaryimage\",\n\t            \"url\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/wp-content\\\/uploads\\\/sites\\\/2\\\/2023\\\/11\\\/chat-gpt-featured-img.jpg\",\n\t            \"contentUrl\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/wp-content\\\/uploads\\\/sites\\\/2\\\/2023\\\/11\\\/chat-gpt-featured-img.jpg\",\n\t            \"width\": 1000,\n\t            \"height\": 563\n\t        },\n\t        {\n\t            \"@type\": \"WebSite\",\n\t            \"@id\": \"https:\\\/\\\/ibkrcampus.com\\\/campus\\\/#website\",\n\t            \"url\": \"https:\\\/\\\/ibkrcampus.com\\\/campus\\\/\",\n\t            \"name\": \"IBKR Campus US\",\n\t            \"description\": \"Financial Education from Interactive Brokers\",\n\t            \"publisher\": {\n\t                \"@id\": \"https:\\\/\\\/ibkrcampus.com\\\/campus\\\/#organization\"\n\t            },\n\t            \"potentialAction\": [\n\t                {\n\t                    \"@type\": \"SearchAction\",\n\t                    \"target\": {\n\t                        \"@type\": \"EntryPoint\",\n\t                        \"urlTemplate\": \"https:\\\/\\\/ibkrcampus.com\\\/campus\\\/?s={search_term_string}\"\n\t                    },\n\t                    \"query-input\": {\n\t                        \"@type\": \"PropertyValueSpecification\",\n\t                        \"valueRequired\": true,\n\t                        \"valueName\": \"search_term_string\"\n\t                    }\n\t                }\n\t            ],\n\t            \"inLanguage\": \"en-US\"\n\t        },\n\t        {\n\t            \"@type\": \"Organization\",\n\t            \"@id\": \"https:\\\/\\\/ibkrcampus.com\\\/campus\\\/#organization\",\n\t            \"name\": \"Interactive Brokers\",\n\t            \"alternateName\": \"IBKR\",\n\t            \"url\": \"https:\\\/\\\/ibkrcampus.com\\\/campus\\\/\",\n\t            \"logo\": {\n\t                \"@type\": \"ImageObject\",\n\t                \"inLanguage\": \"en-US\",\n\t                \"@id\": \"https:\\\/\\\/ibkrcampus.com\\\/campus\\\/#\\\/schema\\\/logo\\\/image\\\/\",\n\t                \"url\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/wp-content\\\/uploads\\\/sites\\\/2\\\/2024\\\/05\\\/ibkr-campus-logo.jpg\",\n\t                \"contentUrl\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/wp-content\\\/uploads\\\/sites\\\/2\\\/2024\\\/05\\\/ibkr-campus-logo.jpg\",\n\t                \"width\": 669,\n\t                \"height\": 669,\n\t                \"caption\": \"Interactive Brokers\"\n\t            },\n\t            \"image\": {\n\t                \"@id\": \"https:\\\/\\\/ibkrcampus.com\\\/campus\\\/#\\\/schema\\\/logo\\\/image\\\/\"\n\t            },\n\t            \"publishingPrinciples\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/about-ibkr-campus\\\/\",\n\t            \"ethicsPolicy\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/cyber-security-notice\\\/\"\n\t        },\n\t        {\n\t            \"@type\": \"Person\",\n\t            \"@id\": \"https:\\\/\\\/ibkrcampus.com\\\/campus\\\/#\\\/schema\\\/person\\\/73e52fd8dc32476d2bcbca771d926407\",\n\t            \"name\": \"Manusha Rao\",\n\t            \"url\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/author\\\/manusharao\\\/\"\n\t        }\n\t    ]\n\t}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"LangChain for Equity Investment Analysis | IBKR Quant","description":"LangChain is a promising open-source framework that brings the power of language models like GPT into investment analysis.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.interactivebrokers.com\/campus\/wp-json\/wp\/v2\/posts\/217599\/","og_locale":"en_US","og_type":"article","og_title":"LangChain for Equity Investment Analysis","og_description":"LangChain is a promising open-source framework that brings the power of language models like GPT into investment analysis.","og_url":"https:\/\/www.interactivebrokers.com\/campus\/ibkr-quant-news\/langchain-for-equity-investment-analysis\/","og_site_name":"IBKR Campus US","article_published_time":"2025-01-21T06:41:13+00:00","article_modified_time":"2025-01-21T18:41:38+00:00","og_image":[{"width":1000,"height":563,"url":"https:\/\/www.interactivebrokers.com\/campus\/wp-content\/uploads\/sites\/2\/2023\/11\/chat-gpt-featured-img.jpg","type":"image\/jpeg"}],"author":"Manusha Rao","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Manusha Rao","Est. reading time":"10 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"NewsArticle","@id":"https:\/\/ibkrcampus.com\/campus\/ibkr-quant-news\/langchain-for-equity-investment-analysis\/#article","isPartOf":{"@id":"https:\/\/ibkrcampus.com\/campus\/ibkr-quant-news\/langchain-for-equity-investment-analysis\/"},"author":{"name":"Manusha Rao","@id":"https:\/\/ibkrcampus.com\/campus\/#\/schema\/person\/73e52fd8dc32476d2bcbca771d926407"},"headline":"LangChain for Equity Investment Analysis","datePublished":"2025-01-21T06:41:13+00:00","dateModified":"2025-01-21T18:41:38+00:00","mainEntityOfPage":{"@id":"https:\/\/ibkrcampus.com\/campus\/ibkr-quant-news\/langchain-for-equity-investment-analysis\/"},"wordCount":1264,"commentCount":0,"publisher":{"@id":"https:\/\/ibkrcampus.com\/campus\/#organization"},"image":{"@id":"https:\/\/ibkrcampus.com\/campus\/ibkr-quant-news\/langchain-for-equity-investment-analysis\/#primaryimage"},"thumbnailUrl":"https:\/\/www.interactivebrokers.com\/campus\/wp-content\/uploads\/sites\/2\/2023\/11\/chat-gpt-featured-img.jpg","keywords":["ChatGPT","LangChain","Machine Learning","OpenAI","Python","PythonREPLTool()","yfinance"],"articleSection":["Data Science","Programming Languages","Python Development","Quant","Quant Development"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/ibkrcampus.com\/campus\/ibkr-quant-news\/langchain-for-equity-investment-analysis\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/ibkrcampus.com\/campus\/ibkr-quant-news\/langchain-for-equity-investment-analysis\/","url":"https:\/\/ibkrcampus.com\/campus\/ibkr-quant-news\/langchain-for-equity-investment-analysis\/","name":"LangChain for Equity Investment Analysis | IBKR Campus US","isPartOf":{"@id":"https:\/\/ibkrcampus.com\/campus\/#website"},"primaryImageOfPage":{"@id":"https:\/\/ibkrcampus.com\/campus\/ibkr-quant-news\/langchain-for-equity-investment-analysis\/#primaryimage"},"image":{"@id":"https:\/\/ibkrcampus.com\/campus\/ibkr-quant-news\/langchain-for-equity-investment-analysis\/#primaryimage"},"thumbnailUrl":"https:\/\/www.interactivebrokers.com\/campus\/wp-content\/uploads\/sites\/2\/2023\/11\/chat-gpt-featured-img.jpg","datePublished":"2025-01-21T06:41:13+00:00","dateModified":"2025-01-21T18:41:38+00:00","description":"LangChain is a promising open-source framework that brings the power of language models like GPT into investment analysis.","inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/ibkrcampus.com\/campus\/ibkr-quant-news\/langchain-for-equity-investment-analysis\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/ibkrcampus.com\/campus\/ibkr-quant-news\/langchain-for-equity-investment-analysis\/#primaryimage","url":"https:\/\/www.interactivebrokers.com\/campus\/wp-content\/uploads\/sites\/2\/2023\/11\/chat-gpt-featured-img.jpg","contentUrl":"https:\/\/www.interactivebrokers.com\/campus\/wp-content\/uploads\/sites\/2\/2023\/11\/chat-gpt-featured-img.jpg","width":1000,"height":563},{"@type":"WebSite","@id":"https:\/\/ibkrcampus.com\/campus\/#website","url":"https:\/\/ibkrcampus.com\/campus\/","name":"IBKR Campus US","description":"Financial Education from Interactive Brokers","publisher":{"@id":"https:\/\/ibkrcampus.com\/campus\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/ibkrcampus.com\/campus\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/ibkrcampus.com\/campus\/#organization","name":"Interactive Brokers","alternateName":"IBKR","url":"https:\/\/ibkrcampus.com\/campus\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/ibkrcampus.com\/campus\/#\/schema\/logo\/image\/","url":"https:\/\/www.interactivebrokers.com\/campus\/wp-content\/uploads\/sites\/2\/2024\/05\/ibkr-campus-logo.jpg","contentUrl":"https:\/\/www.interactivebrokers.com\/campus\/wp-content\/uploads\/sites\/2\/2024\/05\/ibkr-campus-logo.jpg","width":669,"height":669,"caption":"Interactive Brokers"},"image":{"@id":"https:\/\/ibkrcampus.com\/campus\/#\/schema\/logo\/image\/"},"publishingPrinciples":"https:\/\/www.interactivebrokers.com\/campus\/about-ibkr-campus\/","ethicsPolicy":"https:\/\/www.interactivebrokers.com\/campus\/cyber-security-notice\/"},{"@type":"Person","@id":"https:\/\/ibkrcampus.com\/campus\/#\/schema\/person\/73e52fd8dc32476d2bcbca771d926407","name":"Manusha Rao","url":"https:\/\/www.interactivebrokers.com\/campus\/author\/manusharao\/"}]}},"jetpack_featured_media_url":"https:\/\/www.interactivebrokers.com\/campus\/wp-content\/uploads\/sites\/2\/2023\/11\/chat-gpt-featured-img.jpg","_links":{"self":[{"href":"https:\/\/ibkrcampus.com\/campus\/wp-json\/wp\/v2\/posts\/217599","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ibkrcampus.com\/campus\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ibkrcampus.com\/campus\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ibkrcampus.com\/campus\/wp-json\/wp\/v2\/users\/1565"}],"replies":[{"embeddable":true,"href":"https:\/\/ibkrcampus.com\/campus\/wp-json\/wp\/v2\/comments?post=217599"}],"version-history":[{"count":0,"href":"https:\/\/ibkrcampus.com\/campus\/wp-json\/wp\/v2\/posts\/217599\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/ibkrcampus.com\/campus\/wp-json\/wp\/v2\/media\/199210"}],"wp:attachment":[{"href":"https:\/\/ibkrcampus.com\/campus\/wp-json\/wp\/v2\/media?parent=217599"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ibkrcampus.com\/campus\/wp-json\/wp\/v2\/categories?post=217599"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ibkrcampus.com\/campus\/wp-json\/wp\/v2\/tags?post=217599"},{"taxonomy":"contributors-categories","embeddable":true,"href":"https:\/\/ibkrcampus.com\/campus\/wp-json\/wp\/v2\/contributors-categories?post=217599"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}