#今有部分股票交易数据表“trd_data”,字段名称为: # stkcd 、trddt、开盘价、最高价、最低价、收盘价、交易量、交易金额 # 读取股票代码601668,2017-01-01至2018-01-01的交易数据, # 计算macd指标,公式参考书本 # 返回计算结果,结果用一个数据框macd表示。 #注意:读取的交易数据表,需按照日期的升序进行排序 def return_values(): #1.读取数据 import pandas as pd data=pd.read_excel('trd_data.xlsx') d=data[data.iloc[:,0].values==601668] d=d[d.iloc[:,1].values>='2017-01-01'] d=d[d.iloc[:,1].values<='2018-01-01'] d.index=range(len(d)) #d即为待计算的数据框,索引重新排序 #2.指数平滑异同平均线macd计算 #3.合并数据


#导入需要的库 import pandas as pd from datetime import datetime #读取数据 data = pd.read_excel('trd_data.xlsx') #筛选需要的股票代码和日期的数据 filtered_data = data[(data['stkcd'] == 601668) & (data['trddt'] >= datetime(2017, 1, 1)) & (data['trddt'] <= datetime(2018, 1, 1))] #按照日期升序排序 filtered_data = filtered_data.sort_values('trddt') #计算macd指标 ema12 = filtered_data['收盘价'].ewm(span=12).mean() ema26 = filtered_data['收盘价'].ewm(span=26).mean() macd = ema12 - ema26 #将计算结果存入数据框 macd = filtered_data[['stkcd', 'trddt']].copy() macd['macd'] = macd #返回计算结果 return macd [2024-12-10 09:29:33 | AI写代码神器 | 409点数解答]
相关提问
- #今有部分股票交易数据表“trd_data”,字段名称为: # stkcd 、trddt、开盘价、最高价、最低价、收盘价、交易量、交易金额 # 读取股票代码601668,2017-01-01至2018-01-01的交易数据, # 计算macd指标,公式参考书本 # 返回计算结果,结果用一个数据框macd表示。 #注意:读取的交易数据表,需按照日期的升序进行排序 def return_values(): #1.读取数据 import pandas as pd data=pd.read_excel('trd_data.xlsx') d=data[data.iloc[:,0].values==601668] d=d[d.iloc[:,1].values>='2017-01-01'] d=d[d.iloc[:,1].values<='2018-01-01'] d.index=range(len(d)) #d即为待计算的数据框,索引重新排序 #2.指数平滑异同平均线macd计算 #3.合并数据(409点数解答 | 2024-12-10 09:29:33)221
- import numpy as np import pandas as pd import matplotlib.pyplot as plt # 读取教学账目数据 teaching_df = pd.read_excel('教学.xlsx') # 读取后勤账目数据 logistics_df = pd.read_excel('后勤.xlsx') # 读取行政账目数据 administrative_df = pd.read_excel('行政.xlsx') # 将各表格的取得日期列转换为日期时间类型,并提取年份作为新列 teaching_df['年份'] = pd.to_datetime(teaching_df['取得日期'], format='%y-%m-%d').dt.year logistics_df['年份'] = pd.to_datetime(logistics_df['取得日期'], format='%y-%m-%d').dt.year administrative_df['年份'] = pd.to_datetime(administrative_df['取得日期'], fo(69点数解答 | 2024-10-31 17:39:14)200
- import numpy as np import math import xlrd #读excel数据用 from operator import itemgetter #排序用 import pandas as pd import random import matplotlib.pyplot as plt #*******************************读取数据************************************* # 读取excel数据,储存用户数据,出发点编号为0,用户1的编号为1,用户120的编号为120 data = pd.read_excel('data.xlsx', engine='openpyxl') print(data) # 获取节点坐标和需求 # 假设excel文件的第一列是x坐标,第二列是y坐标,第三列是需求 x = data.iloc[:, 0].tolist() # 获取所有行的第一列数据 y = data.iloc[:, 1].tolist() # 获取所有行的第二列数据 demands(2729点数解答 | 2024-11-25 15:32:50)164
- import openpyxl import smtplib import imaplib import email import json import os import re from bs4 import BeautifulSoup from fastapi import FastAPI, Form from openpyxl.styles import Alignment from email.mime.multipart import MIMEMultipart from email.mime.base import MIMEBase from email.header import decode_header from email import encoders import pandas as pd app = FastAPI() RECEIVER_EMAILS = { 0: "yundongshijie001@protonmail.com", 1: "xiaobudian001@protonmail.com" } email_address = "(182点数解答 | 2025-04-12 00:49:09)145
- import os import datetime from flask import Flask, request, jsonify import requests from flask_cors import CORS import re import matplotlib matplotlib.use('Agg') import matplotlib.pyplot as plt import numpy as np import base64 from io import BytesIO import pandas as pd import traceback # 添加traceback以获取详细错误信息 plt.rcParams["font.sans-serif"] = ["SimHei"] app = Flask(__name__) CORS(app) FASTGPT_API_URL = 'http://localhost:3000/api/v1/chat/completions' FASTGPT_API_KEY = 'fastgpt-gWzitHpBa8XRr0q(713点数解答 | 2025-06-18 16:00:34)97
- import javax.swing.*; import java.awt.*; import java.awt.datatransfer.clipboard; import java.awt.datatransfer.stringselection; import java.awt.datatransfer.transferable; import java.awt.event.*; import java.io.*; import java.nio.file.files; import java.nio.file.path; import java.nio.file.paths; import java.time.localdatetime; import java.util.hashmap; import java.util.list; import java.util.map; import java.util.random; public class copy { static private final jtextarea textarea = new jtext(1497点数解答 | 2024-08-25 09:40:33)302
- ssd_send(0x11,ff,03,98,81,03); //gip_1 ssd_send(0x11,01,01,00); ssd_send(0x11,02,01,00); ssd_send(0x11,03,01,53); ssd_send(0x11,04,01,13); ssd_send(0x11,05,01,00); ssd_send(0x11,06,01,04); ssd_send(0x11,07,01,00); ssd_send(0x11,08,01,00); ssd_send(0x11,09,01,22); ssd_send(0x11,0a,01,22); ssd_send(0x11,0b,01,00); ssd_send(0x11,0c,01,01); ssd_send(0x11,0d,01,00); ssd_send(0x11,0e,01,00); ssd_send(0x11,0f,01,25);(64点数解答 | 2024-11-06 16:52:19)208
- from kivy.app import app from kivy.uix.button import button from kivy.uix.boxlayout import boxlayout from kivy.uix.filechooser import filechooserlistview from kivy.uix.popup import popup from kivy.uix.label import label from kivy.uix.screenmanager import screenmanager, screen from kivy.core.window import window from kivy.uix.treeview import treeview, treeviewlabel from unitypy import assetsmanager from unitypy.exceptions import unitypyerror import os from pil import image import time class file(262点数解答 | 2024-12-01 17:07:07)197
- package com.example.weather; import android.content.context; import android.media.mediaplayer; import android.net.uri; import android.os.bundle; import android.util.log; import android.view.layoutinflater; import android.view.view; import android.view.viewgroup; import android.webkit.websettings; import android.webkit.webview; import android.webkit.webviewclient; import android.widget.videoview; import androidx.fragment.app.fragment; public class realtimemonitoringfragment extends fragment {(30点数解答 | 2024-10-12 10:31:18)204
- package com.example.weather; import android.content.context; import android.media.mediaplayer; import android.net.uri; import android.os.bundle; import android.util.log; import android.view.layoutinflater; import android.view.view; import android.view.viewgroup; import android.webkit.websettings; import android.webkit.webview; import android.webkit.webviewclient; import android.widget.videoview; import androidx.fragment.app.fragment; public class realtimemonitoringfragment extends fragment {(531点数解答 | 2024-10-12 10:32:25)185
- #include "videoplayer.h" #include "log.h" #pragma warning(disable: 4996) //buffer: static int audio_len = 0; static uint8* audio_pos; void videoplayer::audiocallback(void* userdata, uint8_t* stream, int len) { sdl_memset(stream, 0, len); if (audio_len <= 0) return; len = (len > audio_len ? audio_len : len); /* mix as much data as possible */ sdl_mixaudio(stream, audio_pos, len, sdl_mix_maxvolume); audio_pos += len; audio_len -= len; } videoplayer::videop(549点数解答 | 2024-08-08 15:59:25)201
- def knapsack_with_solutions(n, g, weights, values): dp = [[0] * (g + 1) for _ in range(n + 1)] count = [[0] * (g + 1) for _ in range(n + 1)] for i in range(n + 1): count[i][0] = 1 for i in range(1, n + 1): for j in range(g + 1): dp[i][j] = dp[i - 1][j] count[i][j] = count[i - 1][j] if j >= weights[i - 1]: if dp[i][j] < dp[i - 1][j - weights[i - 1]] + values[i - 1]: dp[i][j] = dp[i - 1][j - w(760点数解答 | 2024-06-09 18:21:03)238