统计一段时期内股票的涨幅情况

# -*- coding: utf-8 -*-
"""
统计一段时期内股票的涨幅情况
"""
‘‘‘导入模块‘‘‘
import os
import sqlalchemy
import pandas
‘‘‘清屏‘‘‘
cls=os.system(‘cls‘)
‘‘‘连接数据库‘‘‘
engine = sqlalchemy.create_engine(‘mssql+pyodbc://sa:[email protected]‘)
connection = engine.connect()
‘‘‘股票代码列表‘‘‘
codelist = pandas.read_sql(‘codelist‘, engine)
‘‘‘由股票代码列表计算每只股票一段时期内的涨幅‘‘‘
rise = []
for i in range(0, len(codelist) - 1):
    dataframe = pandas.read_sql(codelist[‘code‘][i], engine)
    ‘‘‘注意原数据库日期排序是从大到小的‘‘‘
    for j in range(0, len(dataframe) - 1):
        if dataframe[‘date‘][j] == ‘2016-02-15‘:
            a = dataframe[‘open‘][j]
        if dataframe[‘date‘][j] == ‘2016-01-15‘:
            b = dataframe[‘open‘][j]
            ‘‘‘还没查不交易的日期时股票数据为 0 还是 null 的情况,后面再说,这只是个粗糙的测试‘‘‘
            if not (a == 0) and not (b == 0):
                c = (a - b) / b
                break
            else:
                c = 0
                break
    ‘‘‘一行数据应包括的内容‘‘‘
    rise.append((codelist[‘code‘][i], c, ‘2016-02-15‘, ‘2016-01-15‘))
‘‘‘ list 转 dataframe ‘‘‘
rise = pandas.DataFrame(rise)
‘‘‘修改列名‘‘‘
rise.columns = [‘code‘, ‘rise‘, ‘date_to‘, ‘date_from‘]
‘‘‘按涨幅排序‘‘‘
rise = rise.sort(columns = ‘rise‘, ascending = False)
‘‘‘写库‘‘‘
rise.to_sql(‘rise‘, engine, if_exists = ‘replace‘, index = False)

时间: 2024-12-05 19:57:55

统计一段时期内股票的涨幅情况的相关文章

[SQL]查询某一个字段在某一段时期数据库中使用到的记录

有些时候我们常常须要哪里用到了一些表,又或者什么时候运行了某一个存储过程.整理出了在某段时期内数据库运行的sql查询.也能够查询到数据库中某些字段的存放处.非常好非常强大.希望能帮到大家~ SELECT TOP 1000 --创建时间 QS.creation_time, --查询语句 SUBSTRING(ST.text,(QS.statement_start_offset/2)+1, ((CASE QS.statement_end_offset WHEN -1 THEN DATALENGTH(s

C语言K&R习题系列——统计一段文字中各个字母出现的频率

原题: /*Write a program to print a histogram of the frequencies of *difficent characters in it inputs */ 这个和上一个类似 输入部分 #include < stdio.h >    #define NUM_CHARS 256    main ( void )  { int c; int done = 0; int thisIdx = 0; long frequrr[NUM_CHARS + 1];

hdu 4353 统计点在三角形内的个数

Finding Mine Time Limit: 6000/3000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 1120    Accepted Submission(s): 298 Problem Description In bitland, there is an area with M gold mines. As a businessman, Bob wants t

【华为OJ平台练习题】统计一段字符串中含有空格、英文、数字的个数

//统计一段字符串中含有空格.英文.数字的个数 #include <iostream> using namespace std; void processString(char* s) { int n = strlen(s); int kg=0; int shuzi=0; int yingwen=0; if(n>0) { for(int a=0;a<n;a++) { if(s[a]==' ') kg++; if(s[a]<='9'&&s[a]>='0')

Sql Server 查询一段日期内的全部礼拜天

/* 查询一段日期内的全部礼拜天 @startdate 開始日期 @enddate 结束日期 */ declare @startDate datetime declare @endDate datetime declare @week varchar(20) set @startDate = '20150101' set @endDate = '20151231' while @startDate <= @endDate begin set @week = DATENAME(weekday, @

Sql Server 查询一段日期内的所有礼拜天

/* 查询一段日期内的所有礼拜天 @startdate 开始日期 @enddate 结束日期 */ declare @startDate datetime declare @endDate datetime declare @week varchar(20) set @startDate = '20150101' set @endDate = '20151231' while @startDate <= @endDate begin set @week = DATENAME(weekday, @

统计一段文章的单词频率,取出频率最高的5个单词和个数(python)

练习题:统计一段英语文章的单词频率,取出频率最高的5个单词和个数(用python实现) 怎么判定单词?1 不是字母的特殊字符作为分隔符分割字符串 (避免特殊字符的处理不便,全部替换成'-')2 遍历字符串,取每个word3 正则匹配 怎么统计个数?将wordlist的word和word的个数放入dict,排序 ''' dinghanhua 2018-11-11 练习:一段英文文章,统计每个单词的频率,返回出现频率最高的5个单词和次数 ''' import re art = ' If we wan

MySql 求一段时间范围内的每一天,每一小时,每一分钟

平常经常会求一段时间内的每一天统计数据,或者每一时点的统计数据.但是mysql本身是没有直接获取时点列表的函数或表.下面是自己用到的一些方法,利用临时变量和一个已存在的比较多数据(这个需要根据实际情况决定)的表做关联得到时点列表.希望对大家有所帮助. sql中用到的一些关键数据 #t_table表是系统上已存在的一个有比较多数据的表 一个月的每一天 #2017年7月份的每一天 SET @beginDate='2017-07-01'; SET @maxDate ='2017-07-31'; SEL

C++统计一段文字中各单词出现的频率

#include <iostream> using namespace std; /* run this program using the console pauser or add your own getch, system("pause") or input loop */ class SqString{private: char * base; int length;public: SqString() { } SqString(char * s) { lengt