{"id":37325,"date":"2024-11-01T09:56:40","date_gmt":"2024-11-01T09:56:40","guid":{"rendered":"http:\/\/atmokpo.com\/w\/?p=37325"},"modified":"2024-11-01T11:51:17","modified_gmt":"2024-11-01T11:51:17","slug":"python-automatic-trading-development-pyqt-qhboxlayout","status":"publish","type":"post","link":"https:\/\/atmokpo.com\/w\/37325\/","title":{"rendered":"Python automatic trading development, PyQt QHBoxLayout"},"content":{"rendered":"<p><body><\/p>\n<p>The development of automated trading systems is a field that many traders and investors are attempting for efficient trading. Automated trading systems execute trades automatically according to algorithms set by the program, without human intervention. This article will explain the useful <strong>QHBoxLayout<\/strong> of <strong>PyQt<\/strong> for creating user interfaces while building an automated trading system, along with practical code examples.<\/p>\n<h2>1. What is an automated trading system?<\/h2>\n<p>An automated trading system is a program that automatically performs trading based on predefined rules. These systems have several advantages, including:<\/p>\n<ul>\n<li>Exclusion of psychological factors: It allows for a consistent trading strategy without emotional decisions.<\/li>\n<li>Quick trading: It reacts immediately to market volatility to execute trades, helping to reduce losses.<\/li>\n<li>24-hour trading: The program can continuously execute trades without human assistance, operating 24 hours a day.<\/li>\n<\/ul>\n<h2>2. What is PyQt?<\/h2>\n<p><strong>PyQt<\/strong> is a framework that allows you to develop GUI applications using the Qt library in Python. PyQt provides various widgets and layouts to help users easily construct interfaces.<\/p>\n<h3>2.1 Overview of QHBoxLayout<\/h3>\n<p><strong>QHBoxLayout<\/strong> is a layout that manages a group of widgets arranged horizontally. Using this layout, you can align widgets horizontally and place them with equal spacing. Since users of automated trading systems should be able to make various inputs, QHBoxLayout can be an optimal choice.<\/p>\n<h2>3. Basic example using PyQt<\/h2>\n<p>Now, let&#8217;s look at an example of creating a basic user interface for an automated trading system using PyQt and QHBoxLayout. In this example, we will build a simple GUI that takes stock codes and target prices as input from the user.<\/p>\n<h3>3.1 Installing the required libraries<\/h3>\n<p>To use PyQt, you must first install PyQt5 with the following command:<\/p>\n<pre><code>pip install PyQt5<\/code><\/pre>\n<h3>3.2 GUI application code<\/h3>\n<p>Below is the basic GUI code for the automated trading system utilizing QHBoxLayout with PyQt5:<\/p>\n<pre><code>import sys\nfrom PyQt5.QtWidgets import QApplication, QWidget, QHBoxLayout, QLabel, QLineEdit, QPushButton, QMessageBox\n\nclass AutoTradingApp(QWidget):\n    def __init__(self):\n        super().__init__()\n        self.initUI()\n\n    def initUI(self):\n        # Create Horizontal Layout\n        layout = QHBoxLayout()\n\n        # Stock code input field\n        self.stockLabel = QLabel('Stock Code:')\n        self.stockInput = QLineEdit(self)\n        layout.addWidget(self.stockLabel)\n        layout.addWidget(self.stockInput)\n\n        # Target price input field\n        self.priceLabel = QLabel('Target Price:')\n        self.priceInput = QLineEdit(self)\n        layout.addWidget(self.priceLabel)\n        layout.addWidget(self.priceInput)\n\n        # Execute button\n        self.submitButton = QPushButton('Execute', self)\n        self.submitButton.clicked.connect(self.onSubmit)\n        layout.addWidget(self.submitButton)\n\n        # Set Layout\n        self.setLayout(layout)\n\n        self.setWindowTitle('Automated Trading System')\n        self.show()\n\n    def onSubmit(self):\n        stock_code = self.stockInput.text()\n        target_price = self.priceInput.text()\n        \n        if stock_code and target_price:\n            QMessageBox.information(self, 'Info', f'Stock Code: {stock_code}, Target Price: {target_price}')\n        else:\n            QMessageBox.warning(self, 'Warning', 'Please fill in all fields.')\n\nif __name__ == '__main__':\n    app = QApplication(sys.argv)\n    ex = AutoTradingApp()\n    sys.exit(app.exec_())\n<\/code><\/pre>\n<h3>3.3 Explanation of the code<\/h3>\n<p>The code above is an example of creating a simple GUI for an automated trading system:<\/p>\n<ul>\n<li><strong>QWidget<\/strong>: The base widget for all PyQt5 applications.<\/li>\n<li><strong>QHBoxLayout<\/strong>: Arranges widgets in a horizontal layout.<\/li>\n<li><strong>QLabel<\/strong>: Creates a text label.<\/li>\n<li><strong>QLineEdit<\/strong>: A widget that allows the user to input text.<\/li>\n<li><strong>QPushButton<\/strong>: Creates a button to handle click events.<\/li>\n<li><strong>QMessageBox<\/strong>: Uses a popup dialog to display information.<\/li>\n<\/ul>\n<p>When the code is executed, users will see a simple interface where they can input the stock code and target price. Clicking the &#8216;Execute&#8217; button will display the entered information in a popup.<\/p>\n<h2>4. Adding automated trading logic<\/h2>\n<p>Now that we have the GUI and input fields, let&#8217;s add the actual automated trading logic. In this example, we will use a library called yfinance to fetch the current price of the stock and compare it with the target price set by the user.<\/p>\n<h3>4.1 Installing yfinance<\/h3>\n<p>yfinance is a library that fetches stock data from the Yahoo Finance API. Install it using the following command:<\/p>\n<pre><code>pip install yfinance<\/code><\/pre>\n<h3>4.2 Modifying the code<\/h3>\n<p>The code below adds logic to check the stock price and compare it with the target price to the existing GUI:<\/p>\n<pre><code>import sys\nimport yfinance as yf\nfrom PyQt5.QtWidgets import QApplication, QWidget, QHBoxLayout, QLabel, QLineEdit, QPushButton, QMessageBox\n\nclass AutoTradingApp(QWidget):\n    def __init__(self):\n        super().__init__()\n        self.initUI()\n\n    def initUI(self):\n        layout = QHBoxLayout()\n\n        self.stockLabel = QLabel('Stock Code:')\n        self.stockInput = QLineEdit(self)\n        layout.addWidget(self.stockLabel)\n        layout.addWidget(self.stockInput)\n\n        self.priceLabel = QLabel('Target Price:')\n        self.priceInput = QLineEdit(self)\n        layout.addWidget(self.priceLabel)\n        layout.addWidget(self.priceInput)\n\n        self.submitButton = QPushButton('Execute', self)\n        self.submitButton.clicked.connect(self.onSubmit)\n        layout.addWidget(self.submitButton)\n\n        self.setLayout(layout)\n\n        self.setWindowTitle('Automated Trading System')\n        self.show()\n\n    def onSubmit(self):\n        stock_code = self.stockInput.text()\n        target_price = float(self.priceInput.text())\n        \n        if stock_code:\n            # Fetching stock price\n            stock_info = yf.Ticker(stock_code)\n            current_price = stock_info.history(period='1d')['Close'].iloc[-1]\n\n            if current_price >= target_price:\n                QMessageBox.information(self, 'Info', f'Current Price: {current_price}\\nReached target price! Proceed with trading.')\n            else:\n                QMessageBox.information(self, 'Info', f'Current Price: {current_price}\\nDid not reach target price.')\n        else:\n            QMessageBox.warning(self, 'Warning', 'Please fill in all fields.')\n\nif __name__ == '__main__':\n    app = QApplication(sys.argv)\n    ex = AutoTradingApp()\n    sys.exit(app.exec_())\n<\/code><\/pre>\n<h3>4.3 Explanation of the modified code<\/h3>\n<p>The modified code fetches the current price corresponding to the stock code entered by the user and compares it with the target price:<\/p>\n<ul>\n<li>It uses the Ticker class of the yfinance library to fetch stock information.<\/li>\n<li>It retrieves the latest closing price of the stock and compares it with the user-inputted target price.<\/li>\n<li>A popup dialog is displayed based on the result.<\/li>\n<\/ul>\n<p>When the above code is executed, users can check the current price for the stock code they entered and report whether it has reached the target price.<\/p>\n<h2>5. Conclusion<\/h2>\n<p>In this article, we explored the process of developing a simple GUI for an automated trading system using Python. We learned how to structure user interfaces using QHBoxLayout of PyQt and how to fetch stock data using the yfinance library. This provides users with the foundational skills to set up their trading strategies and develop systems that execute them automatically.<\/p>\n<p>If you have any further questions or would like more details, please feel free to leave a comment. We will also cover more automated trading techniques and implementation methods!<\/p>\n<p><\/body><\/p>\n","protected":false},"excerpt":{"rendered":"<p>The development of automated trading systems is a field that many traders and investors are attempting for efficient trading. Automated trading systems execute trades automatically according to algorithms set by the program, without human intervention. This article will explain the useful QHBoxLayout of PyQt for creating user interfaces while building an automated trading system, along &hellip; <a href=\"https:\/\/atmokpo.com\/w\/37325\/\" class=\"more-link\">\ub354 \ubcf4\uae30<span class=\"screen-reader-text\"> &#8220;Python automatic trading development, PyQt QHBoxLayout&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[147],"tags":[],"class_list":["post-37325","post","type-post","status-publish","format-standard","hentry","category-python-auto-trading"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.2 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Python automatic trading development, PyQt QHBoxLayout - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/atmokpo.com\/w\/37325\/\" \/>\n<meta property=\"og:locale\" content=\"ko_KR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Python automatic trading development, PyQt QHBoxLayout - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\" \/>\n<meta property=\"og:description\" content=\"The development of automated trading systems is a field that many traders and investors are attempting for efficient trading. Automated trading systems execute trades automatically according to algorithms set by the program, without human intervention. This article will explain the useful QHBoxLayout of PyQt for creating user interfaces while building an automated trading system, along &hellip; \ub354 \ubcf4\uae30 &quot;Python automatic trading development, PyQt QHBoxLayout&quot;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/atmokpo.com\/w\/37325\/\" \/>\n<meta property=\"og:site_name\" content=\"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\" \/>\n<meta property=\"article:published_time\" content=\"2024-11-01T09:56:40+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-11-01T11:51:17+00:00\" \/>\n<meta name=\"author\" content=\"root\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@bebubo4\" \/>\n<meta name=\"twitter:site\" content=\"@bebubo4\" \/>\n<meta name=\"twitter:label1\" content=\"\uae00\uc4f4\uc774\" \/>\n\t<meta name=\"twitter:data1\" content=\"root\" \/>\n\t<meta name=\"twitter:label2\" content=\"\uc608\uc0c1 \ub418\ub294 \ud310\ub3c5 \uc2dc\uac04\" \/>\n\t<meta name=\"twitter:data2\" content=\"5\ubd84\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/atmokpo.com\/w\/37325\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/atmokpo.com\/w\/37325\/\"},\"author\":{\"name\":\"root\",\"@id\":\"https:\/\/atmokpo.com\/w\/#\/schema\/person\/91b6b3b138fbba0efb4ae64b1abd81d7\"},\"headline\":\"Python automatic trading development, PyQt QHBoxLayout\",\"datePublished\":\"2024-11-01T09:56:40+00:00\",\"dateModified\":\"2024-11-01T11:51:17+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/atmokpo.com\/w\/37325\/\"},\"wordCount\":675,\"publisher\":{\"@id\":\"https:\/\/atmokpo.com\/w\/#organization\"},\"articleSection\":[\"Python Auto Trading\"],\"inLanguage\":\"ko-KR\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/atmokpo.com\/w\/37325\/\",\"url\":\"https:\/\/atmokpo.com\/w\/37325\/\",\"name\":\"Python automatic trading development, PyQt QHBoxLayout - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\",\"isPartOf\":{\"@id\":\"https:\/\/atmokpo.com\/w\/#website\"},\"datePublished\":\"2024-11-01T09:56:40+00:00\",\"dateModified\":\"2024-11-01T11:51:17+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/atmokpo.com\/w\/37325\/#breadcrumb\"},\"inLanguage\":\"ko-KR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/atmokpo.com\/w\/37325\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/atmokpo.com\/w\/37325\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\ud648\",\"item\":\"https:\/\/atmokpo.com\/w\/en\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Python automatic trading development, PyQt QHBoxLayout\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/atmokpo.com\/w\/#website\",\"url\":\"https:\/\/atmokpo.com\/w\/\",\"name\":\"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/atmokpo.com\/w\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/atmokpo.com\/w\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"ko-KR\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/atmokpo.com\/w\/#organization\",\"name\":\"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\",\"url\":\"https:\/\/atmokpo.com\/w\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"ko-KR\",\"@id\":\"https:\/\/atmokpo.com\/w\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/atmokpo.com\/w\/wp-content\/uploads\/2024\/11\/logo.png\",\"contentUrl\":\"https:\/\/atmokpo.com\/w\/wp-content\/uploads\/2024\/11\/logo.png\",\"width\":400,\"height\":400,\"caption\":\"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\"},\"image\":{\"@id\":\"https:\/\/atmokpo.com\/w\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/x.com\/bebubo4\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/atmokpo.com\/w\/#\/schema\/person\/91b6b3b138fbba0efb4ae64b1abd81d7\",\"name\":\"root\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"ko-KR\",\"@id\":\"https:\/\/atmokpo.com\/w\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/708197b41fc6435a7ce22d951b25d4a47e9e904270cb1f04682d4f025066f80c?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/708197b41fc6435a7ce22d951b25d4a47e9e904270cb1f04682d4f025066f80c?s=96&d=mm&r=g\",\"caption\":\"root\"},\"sameAs\":[\"http:\/\/atmokpo.com\/w\"],\"url\":\"https:\/\/atmokpo.com\/w\/author\/root\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Python automatic trading development, PyQt QHBoxLayout - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","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:\/\/atmokpo.com\/w\/37325\/","og_locale":"ko_KR","og_type":"article","og_title":"Python automatic trading development, PyQt QHBoxLayout - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","og_description":"The development of automated trading systems is a field that many traders and investors are attempting for efficient trading. Automated trading systems execute trades automatically according to algorithms set by the program, without human intervention. This article will explain the useful QHBoxLayout of PyQt for creating user interfaces while building an automated trading system, along &hellip; \ub354 \ubcf4\uae30 \"Python automatic trading development, PyQt QHBoxLayout\"","og_url":"https:\/\/atmokpo.com\/w\/37325\/","og_site_name":"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","article_published_time":"2024-11-01T09:56:40+00:00","article_modified_time":"2024-11-01T11:51:17+00:00","author":"root","twitter_card":"summary_large_image","twitter_creator":"@bebubo4","twitter_site":"@bebubo4","twitter_misc":{"\uae00\uc4f4\uc774":"root","\uc608\uc0c1 \ub418\ub294 \ud310\ub3c5 \uc2dc\uac04":"5\ubd84"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/atmokpo.com\/w\/37325\/#article","isPartOf":{"@id":"https:\/\/atmokpo.com\/w\/37325\/"},"author":{"name":"root","@id":"https:\/\/atmokpo.com\/w\/#\/schema\/person\/91b6b3b138fbba0efb4ae64b1abd81d7"},"headline":"Python automatic trading development, PyQt QHBoxLayout","datePublished":"2024-11-01T09:56:40+00:00","dateModified":"2024-11-01T11:51:17+00:00","mainEntityOfPage":{"@id":"https:\/\/atmokpo.com\/w\/37325\/"},"wordCount":675,"publisher":{"@id":"https:\/\/atmokpo.com\/w\/#organization"},"articleSection":["Python Auto Trading"],"inLanguage":"ko-KR"},{"@type":"WebPage","@id":"https:\/\/atmokpo.com\/w\/37325\/","url":"https:\/\/atmokpo.com\/w\/37325\/","name":"Python automatic trading development, PyQt QHBoxLayout - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","isPartOf":{"@id":"https:\/\/atmokpo.com\/w\/#website"},"datePublished":"2024-11-01T09:56:40+00:00","dateModified":"2024-11-01T11:51:17+00:00","breadcrumb":{"@id":"https:\/\/atmokpo.com\/w\/37325\/#breadcrumb"},"inLanguage":"ko-KR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/atmokpo.com\/w\/37325\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/atmokpo.com\/w\/37325\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\ud648","item":"https:\/\/atmokpo.com\/w\/en\/"},{"@type":"ListItem","position":2,"name":"Python automatic trading development, PyQt QHBoxLayout"}]},{"@type":"WebSite","@id":"https:\/\/atmokpo.com\/w\/#website","url":"https:\/\/atmokpo.com\/w\/","name":"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","description":"","publisher":{"@id":"https:\/\/atmokpo.com\/w\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/atmokpo.com\/w\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"ko-KR"},{"@type":"Organization","@id":"https:\/\/atmokpo.com\/w\/#organization","name":"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","url":"https:\/\/atmokpo.com\/w\/","logo":{"@type":"ImageObject","inLanguage":"ko-KR","@id":"https:\/\/atmokpo.com\/w\/#\/schema\/logo\/image\/","url":"https:\/\/atmokpo.com\/w\/wp-content\/uploads\/2024\/11\/logo.png","contentUrl":"https:\/\/atmokpo.com\/w\/wp-content\/uploads\/2024\/11\/logo.png","width":400,"height":400,"caption":"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8"},"image":{"@id":"https:\/\/atmokpo.com\/w\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/x.com\/bebubo4"]},{"@type":"Person","@id":"https:\/\/atmokpo.com\/w\/#\/schema\/person\/91b6b3b138fbba0efb4ae64b1abd81d7","name":"root","image":{"@type":"ImageObject","inLanguage":"ko-KR","@id":"https:\/\/atmokpo.com\/w\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/708197b41fc6435a7ce22d951b25d4a47e9e904270cb1f04682d4f025066f80c?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/708197b41fc6435a7ce22d951b25d4a47e9e904270cb1f04682d4f025066f80c?s=96&d=mm&r=g","caption":"root"},"sameAs":["http:\/\/atmokpo.com\/w"],"url":"https:\/\/atmokpo.com\/w\/author\/root\/"}]}},"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack-related-posts":[],"_links":{"self":[{"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/posts\/37325","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/comments?post=37325"}],"version-history":[{"count":1,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/posts\/37325\/revisions"}],"predecessor-version":[{"id":37326,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/posts\/37325\/revisions\/37326"}],"wp:attachment":[{"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/media?parent=37325"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/categories?post=37325"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/tags?post=37325"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}