{"id":37351,"date":"2024-11-01T09:56:54","date_gmt":"2024-11-01T09:56:54","guid":{"rendered":"http:\/\/atmokpo.com\/w\/?p=37351"},"modified":"2024-11-01T11:51:10","modified_gmt":"2024-11-01T11:51:10","slug":"automated-trading-development-in-python-integration-with-pyqt-and-matplotlib","status":"publish","type":"post","link":"https:\/\/atmokpo.com\/w\/37351\/","title":{"rendered":"Automated Trading Development in Python, Integration with PyQt and Matplotlib"},"content":{"rendered":"<p>Automated trading is an increasingly popular field among financial investors. With the advancement of artificial intelligence and machine learning, there are more opportunities to automate trading systems to enhance efficiency and profitability. In this course, you will learn how to develop a basic automated trading system using Python, design a user interface (UI) with PyQt, and implement data visualization using Matplotlib.<\/p>\n<h2>Table of Contents<\/h2>\n<ul>\n<li>1. Understanding Automated Trading<\/li>\n<li>2. Setting Up the Development Environment<\/li>\n<li>3. Building UI with PyQt<\/li>\n<li>4. Visualizing Data with Matplotlib<\/li>\n<li>5. Implementing Automated Trading Algorithms<\/li>\n<li>6. Comprehensive Example<\/li>\n<li>7. Conclusion<\/li>\n<\/ul>\n<h2>1. Understanding Automated Trading<\/h2>\n<p>An automated trading system is a program that automatically executes trades based on pre-defined trading strategies. These systems make trading decisions based on various market data such as price fluctuations, trading volume, and technical indicators. The biggest advantage of automated trading is that it allows for objective trading, free from emotions. However, it is crucial to establish the correct strategies, as poor algorithms or data analysis can lead to significant losses.<\/p>\n<h2>2. Setting Up the Development Environment<\/h2>\n<p>To develop an automated trading system, you need to install the following libraries:<\/p>\n<pre>\npip install PyQt5 matplotlib pandas numpy\n<\/pre>\n<p>You can install PyQt5, Matplotlib, Pandas, and NumPy with the command above. PyQt5 is a powerful library for creating GUI applications, Matplotlib is useful for visualizing data, and NumPy and Pandas are essential libraries for data processing.<\/p>\n<h2>3. Building UI with PyQt<\/h2>\n<p>Let&#8217;s learn how to build the user interface using PyQt. Below is an example code for a simple UI setup:<\/p>\n<pre>\nimport sys\nfrom PyQt5.QtWidgets import QApplication, QWidget, QVBoxLayout, QPushButton, QLabel\n\nclass MyApp(QWidget):\n    def __init__(self):\n        super().__init__()\n        \n        self.initUI()\n\n    def initUI(self):\n        self.setWindowTitle('Automated Trading System')\n        \n        layout = QVBoxLayout()\n        \n        self.label = QLabel('Welcome to Automated Trading System', self)\n        layout.addWidget(self.label)\n\n        self.startButton = QPushButton('Start Trading', self)\n        self.startButton.clicked.connect(self.startTrading)\n        layout.addWidget(self.startButton)\n\n        self.setLayout(layout)\n        self.show()\n\n    def startTrading(self):\n        self.label.setText('Trading Started!')\n\nif __name__ == '__main__':\n    app = QApplication(sys.argv)\n    ex = MyApp()\n    sys.exit(app.exec_())\n<\/pre>\n<p>The above code creates a simple window using PyQt5. When the user clicks the &#8220;Start Trading&#8221; button, the text of the label changes.<\/p>\n<h2>4. Visualizing Data with Matplotlib<\/h2>\n<p>You can visualize trading data using Matplotlib. Below is a simple data visualization example:<\/p>\n<pre>\nimport matplotlib.pyplot as plt\nimport numpy as np\n\n# Generate dummy data\nx = np.arange(0, 10, 0.1)\ny = np.sin(x)\n\nplt.plot(x, y)\nplt.title('Sine Wave')\nplt.xlabel('X-axis')\nplt.ylabel('Y-axis')\nplt.grid(True)\nplt.show()\n<\/pre>\n<p>The above code generates a simple graph by plotting the sin(x) function. This generated graph can be integrated into the UI.<\/p>\n<h2>5. Implementing Automated Trading Algorithms<\/h2>\n<p>Now we will define a basic automated trading algorithm that we will implement. Here, we will use a moving average crossover strategy to identify trading signals. The simple strategy is as follows:<\/p>\n<ul>\n<li>Generate a buy signal when the short-term moving average crosses above the long-term moving average.<\/li>\n<li>Generate a sell signal when the short-term moving average crosses below the long-term moving average.<\/li>\n<\/ul>\n<pre>\nimport pandas as pd\n\ndef moving_average_crossover(data, short_window=40, long_window=100):\n    \"\"\"Function to generate buy and sell signals\"\"\"\n    signals = pd.DataFrame(index=data.index)\n    signals['signal'] = 0.0\n\n    # Short-term and long-term moving averages\n    signals['short_mavg'] = data['Close'].rolling(window=short_window, min_periods=1).mean()\n    signals['long_mavg'] = data['Close'].rolling(window=long_window, min_periods=1).mean()\n\n    # Buy signal\n    signals['signal'][short_window:] = np.where(signals['short_mavg'][short_window:] \n                                                > signals['long_mavg'][short_window:], 1.0, 0.0)   \n\n    # Sell signal\n    signals['positions'] = signals['signal'].diff()\n\n    return signals\n<\/pre>\n<p>The code above calculates moving averages from stock price data and generates buy and sell signals. This allows testing of the strategy and its application to real trades.<\/p>\n<h2>6. Comprehensive Example<\/h2>\n<p>Let&#8217;s look at a comprehensive example that integrates all elements of the automated trading system.<\/p>\n<pre>\nfrom PyQt5.QtWidgets import QApplication, QWidget, QVBoxLayout, QPushButton, QLabel\nimport pandas as pd\nimport matplotlib.pyplot as plt\nimport numpy as np\n\nclass TradingSystem(QWidget):\n    def __init__(self):\n        super().__init__()\n        self.initUI()\n        self.data = None  # Variable to store trading data\n\n    def initUI(self):\n        self.setWindowTitle('Automated Trading System')\n        \n        layout = QVBoxLayout()\n        \n        self.label = QLabel('Welcome to Automated Trading System', self)\n        layout.addWidget(self.label)\n\n        self.startButton = QPushButton('Start Trading', self)\n        self.startButton.clicked.connect(self.startTrading)\n        layout.addWidget(self.startButton)\n\n        self.setLayout(layout)\n        self.show()\n\n    def startTrading(self):\n        self.label.setText('Fetching market data...')\n        self.fetchMarketData()\n        self.label.setText('Data fetched. Analyzing...')\n        signals = self.analyzeData(self.data)  # Analyze data\n\n        self.label.setText('Trading Strategy executed.')\n        self.visualizeData(signals)  # Data visualization\n\n    def fetchMarketData(self):\n        # Generate dummy trading data\n        dates = pd.date_range(start='2023-01-01', periods=200)\n        prices = np.random.normal(loc=100, scale=10, size=(200,)).cumsum()\n        self.data = pd.DataFrame(data={'Close': prices}, index=dates)\n\n    def analyzeData(self, data):\n        return moving_average_crossover(data)\n\n    def visualizeData(self, signals):\n        plt.figure(figsize=(10, 6))\n        plt.plot(self.data.index, self.data['Close'], label='Close Price')\n        plt.plot(signals['short_mavg'], label='Short Moving Average', alpha=0.7)\n        plt.plot(signals['long_mavg'], label='Long Moving Average', alpha=0.7)\n        \n        plt.title('Stock Price and Moving Averages')\n        plt.xlabel('Date')\n        plt.ylabel('Price')\n        plt.legend()\n        plt.show()\n\ndef moving_average_crossover(data, short_window=40, long_window=100):\n    signals = pd.DataFrame(index=data.index)\n    signals['signal'] = 0.0\n\n    signals['short_mavg'] = data['Close'].rolling(window=short_window, min_periods=1).mean()\n    signals['long_mavg'] = data['Close'].rolling(window=long_window, min_periods=1).mean()\n    signals['signal'][short_window:] = np.where(signals['short_mavg'][short_window:] \n                                                > signals['long_mavg'][short_window:], 1.0, 0.0)   \n    signals['positions'] = signals['signal'].diff()\n\n    return signals\n\nif __name__ == '__main__':\n    app = QApplication(sys.argv)\n    trading_system = TradingSystem()\n    sys.exit(app.exec_())\n<\/pre>\n<p>The above code creates a complete automated trading system that includes functions for fetching data, analysis, and visualization within the PyQt interface. When the &#8220;Start Trading&#8221; button is clicked, it fetches and analyzes market data and visualizes the results.<\/p>\n<h2>7. Conclusion<\/h2>\n<p>This course introduced the process of developing a simple automated trading system using PyQt and Matplotlib. By controlling the trading system through the user interface and implementing data visualization using Matplotlib, we created a basic automated trading system with essential features. Based on this code and principles, we encourage you to add more complex trading algorithms and functionalities to develop your own automated trading system.<\/p>\n<p>Now, to further enhance your automated trading system, try applying data analysis, machine learning, and various strategies for practical use. The world of automated trading offers broad and diverse possibilities. The key to success lies in continuous learning and practice with passion.<\/p>\n<p>Please leave any questions in the comments!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Automated trading is an increasingly popular field among financial investors. With the advancement of artificial intelligence and machine learning, there are more opportunities to automate trading systems to enhance efficiency and profitability. In this course, you will learn how to develop a basic automated trading system using Python, design a user interface (UI) with PyQt, &hellip; <a href=\"https:\/\/atmokpo.com\/w\/37351\/\" class=\"more-link\">\ub354 \ubcf4\uae30<span class=\"screen-reader-text\"> &#8220;Automated Trading Development in Python, Integration with PyQt and Matplotlib&#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-37351","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>Automated Trading Development in Python, Integration with PyQt and Matplotlib - \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\/37351\/\" \/>\n<meta property=\"og:locale\" content=\"ko_KR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Automated Trading Development in Python, Integration with PyQt and Matplotlib - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\" \/>\n<meta property=\"og:description\" content=\"Automated trading is an increasingly popular field among financial investors. With the advancement of artificial intelligence and machine learning, there are more opportunities to automate trading systems to enhance efficiency and profitability. In this course, you will learn how to develop a basic automated trading system using Python, design a user interface (UI) with PyQt, &hellip; \ub354 \ubcf4\uae30 &quot;Automated Trading Development in Python, Integration with PyQt and Matplotlib&quot;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/atmokpo.com\/w\/37351\/\" \/>\n<meta property=\"og:site_name\" content=\"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\" \/>\n<meta property=\"article:published_time\" content=\"2024-11-01T09:56:54+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-11-01T11:51:10+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\/37351\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/atmokpo.com\/w\/37351\/\"},\"author\":{\"name\":\"root\",\"@id\":\"https:\/\/atmokpo.com\/w\/#\/schema\/person\/91b6b3b138fbba0efb4ae64b1abd81d7\"},\"headline\":\"Automated Trading Development in Python, Integration with PyQt and Matplotlib\",\"datePublished\":\"2024-11-01T09:56:54+00:00\",\"dateModified\":\"2024-11-01T11:51:10+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/atmokpo.com\/w\/37351\/\"},\"wordCount\":580,\"publisher\":{\"@id\":\"https:\/\/atmokpo.com\/w\/#organization\"},\"articleSection\":[\"Python Auto Trading\"],\"inLanguage\":\"ko-KR\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/atmokpo.com\/w\/37351\/\",\"url\":\"https:\/\/atmokpo.com\/w\/37351\/\",\"name\":\"Automated Trading Development in Python, Integration with PyQt and Matplotlib - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\",\"isPartOf\":{\"@id\":\"https:\/\/atmokpo.com\/w\/#website\"},\"datePublished\":\"2024-11-01T09:56:54+00:00\",\"dateModified\":\"2024-11-01T11:51:10+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/atmokpo.com\/w\/37351\/#breadcrumb\"},\"inLanguage\":\"ko-KR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/atmokpo.com\/w\/37351\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/atmokpo.com\/w\/37351\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\ud648\",\"item\":\"https:\/\/atmokpo.com\/w\/en\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Automated Trading Development in Python, Integration with PyQt and Matplotlib\"}]},{\"@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":"Automated Trading Development in Python, Integration with PyQt and Matplotlib - \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\/37351\/","og_locale":"ko_KR","og_type":"article","og_title":"Automated Trading Development in Python, Integration with PyQt and Matplotlib - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","og_description":"Automated trading is an increasingly popular field among financial investors. With the advancement of artificial intelligence and machine learning, there are more opportunities to automate trading systems to enhance efficiency and profitability. In this course, you will learn how to develop a basic automated trading system using Python, design a user interface (UI) with PyQt, &hellip; \ub354 \ubcf4\uae30 \"Automated Trading Development in Python, Integration with PyQt and Matplotlib\"","og_url":"https:\/\/atmokpo.com\/w\/37351\/","og_site_name":"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","article_published_time":"2024-11-01T09:56:54+00:00","article_modified_time":"2024-11-01T11:51:10+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\/37351\/#article","isPartOf":{"@id":"https:\/\/atmokpo.com\/w\/37351\/"},"author":{"name":"root","@id":"https:\/\/atmokpo.com\/w\/#\/schema\/person\/91b6b3b138fbba0efb4ae64b1abd81d7"},"headline":"Automated Trading Development in Python, Integration with PyQt and Matplotlib","datePublished":"2024-11-01T09:56:54+00:00","dateModified":"2024-11-01T11:51:10+00:00","mainEntityOfPage":{"@id":"https:\/\/atmokpo.com\/w\/37351\/"},"wordCount":580,"publisher":{"@id":"https:\/\/atmokpo.com\/w\/#organization"},"articleSection":["Python Auto Trading"],"inLanguage":"ko-KR"},{"@type":"WebPage","@id":"https:\/\/atmokpo.com\/w\/37351\/","url":"https:\/\/atmokpo.com\/w\/37351\/","name":"Automated Trading Development in Python, Integration with PyQt and Matplotlib - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","isPartOf":{"@id":"https:\/\/atmokpo.com\/w\/#website"},"datePublished":"2024-11-01T09:56:54+00:00","dateModified":"2024-11-01T11:51:10+00:00","breadcrumb":{"@id":"https:\/\/atmokpo.com\/w\/37351\/#breadcrumb"},"inLanguage":"ko-KR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/atmokpo.com\/w\/37351\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/atmokpo.com\/w\/37351\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\ud648","item":"https:\/\/atmokpo.com\/w\/en\/"},{"@type":"ListItem","position":2,"name":"Automated Trading Development in Python, Integration with PyQt and Matplotlib"}]},{"@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\/37351","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=37351"}],"version-history":[{"count":1,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/posts\/37351\/revisions"}],"predecessor-version":[{"id":37352,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/posts\/37351\/revisions\/37352"}],"wp:attachment":[{"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/media?parent=37351"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/categories?post=37351"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/tags?post=37351"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}