價值投資/指標選股(akshare)

利用akshare的數據源,可以獲取所有的股票數據以及公開的財務數據,可以進行條件篩選,獲取滿足條件的股票。

? ? ? ? 這套模板可以用于價值投資,指標選股。選股周期為日線級別。然后結果可以郵箱發送。

import time
import akshare as ak
## A 股上市公司的實時行情數據
stock_zh_a_spot_df = ak.stock_zh_a_spot()
#print(stock_zh_a_spot_df)
##取前300測試
##取前300測試
df_stock = stock_zh_a_spot_df[['代碼','名稱']][:20]
anyData = {'stock':'00','name':'name_test','指標1':'var1','指標1':'var1','指標2':'var2','指標3':'var3','指標4':'var4','綜合評估':'varAll'}
dfResult = pd.DataFrame(anyData,index=[0])for row_index, row in df_stock.iterrows():try:# print(row['code'])# print(row['name'])r_code = row['代碼'][2:]r_name = row['名稱']print(r_code)##指標1 - 過去5年來平均凈資產收益率高于14%df = ak.stock_financial_analysis_indicator(r_code)# 財務指標數據 工行財報# print(df.head())df = df.set_index(df['日期'])print(df.head())df1 = df[df.index>'2015-01-01']['凈資產收益率(%)']df1_sum = df1.replace('--',0).astype(float).sum(axis = 0, skipna = True)df1_count = df1.count()var1 = (df1_sum / df1_count)>14##指標2- 市盈率低于30 并且大于 0 day = (datetime.datetime.now()- datetime.timedelta(days=30))dateStart = datetime.datetime(day.year, day.month, day.day, 0, 0, 0)##過去30天的數據dateStart = datetime.datetime.strptime(str(dateStart),'%Y-%m-%d %H:%M:%S')dateStart = datetime.datetime.date(dateStart) df2 = ak.stock_a_lg_indicator("601398")df2_mean = df2[df2.trade_date >dateStart ].pe.mean()var2 = df2_mean >0 and df2_mean < 30#指標3:經營現金流為正df3 = df#財務指標數據var3 = float( df3['每股經營性現金流(元)'].iat[1] ) > 0# print(var3)#指標4:新期的凈利潤大于前5年的凈利潤 取萬元var4_1 = float(df3['扣除非經常性損益后的凈利潤(元)'].iat[1])/ 10000 var4_2 =  df3['扣除非經常性損益后的凈利潤(元)'].iloc[2:8].astype(np.float).max()/10000 var4 = var4_1 > var4_2##綜合評估varAll = var1 and var2 and var3 and var4if varAll == True:print(row)anyData = {'stock':r_code,'name':r_name,'指標1':var1,'指標1':var1,'指標2':var2,'指標3':var3,'指標4':var4,'綜合評估':varAll}df_idex = row_index+1dfResult.loc[df_idex] = anyDataprint(dfResult)except:continue#time.sleep(7)

這里的指標可以重新寫,重新添加。自己習慣增加。

?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/449476.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/449476.shtml
英文地址,請注明出處:http://en.pswp.cn/news/449476.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

gdb常用命令

[rootredhat home]#gdb 調試文件&#xff1a;啟動gdb (gdb) l &#xff1a;&#xff08;字母l&#xff09;從第一行開始列出源碼 (gdb) break n :在第n行處設置斷點 (gdb) break func&#xff1a;在函數func()的入口處設置斷點 (gdb) info break&#xff1a; 查看斷點信息 (gdb…

有前途的人工智能大數據分析相關職業:Python數據科學入門之路

2019獨角獸企業重金招聘Python工程師標準>>> 為什么學習Python數據科學&#xff1f; Python是數據科學職業所需的寶貴技能之一。Python是數據科學的首選編程語言。 2016年&#xff0c;它超越了R on Kaggle&#xff0c;這是數據科學競賽的首選平臺。2017年&#xff0…

遍歷Map key-value的兩種方法、遍歷Set方法

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 第一種遍歷方法 : 先獲取Map中的所有key值&#xff0c;然后根據key&#xff0c;依次從Map中去數據 Map<String,String> test…

STL 容器簡介:C++ 容器:順序性容器、關聯式容器和容器適配器

STL標準容器類簡介 標準容器類說明順序性容器vector從后面快速的插入與刪除&#xff0c;直接訪問任何元素deque從前面或后面快速的插入與刪除&#xff0c;直接訪問任何元素list雙鏈表&#xff0c;從任何地方快速插入與刪除關聯容器set快速查找&#xff0c;不允許重復值multise…

用友云開發者中心助你上云系列之在線調試

現在&#xff0c;大家開始越來越多的談論到高可用架構的互聯網應用。什么是高可用&#xff1f;高可用HA&#xff08;High Availability&#xff09;是分布式系統架構設計中必須考慮的因素之一&#xff0c;它通常是指&#xff0c;通過設計減少系統不能提供服務的時間。當我們談論…

python根據財務指標尋找價值股票

確定股票池 from concurrent.futures import ThreadPoolExecutor import urllib import os from time import sleep import pandas as pd # 上證代碼 shanghaicode [] for i in range(600000, 606000, 1):shanghaicode.append(str(i))# 深證代碼 shenzhencode [] for i in r…

WPF Bitmap轉BitmapSource,Image

//引用&#xff1a;using System.Windows.Interop; //Imagingusing System.Drawing; //Bitmap public static Imaging.BitmapSource ConvertToBitmapSource(Bitmap btmap) { return Imaging.CreateBitmapSourceFromHBitmap(btmap.GetHbitmap(), IntPtr.Zero, Int32Rect.Empt…

解決jboss.resteasy.spi.UnhandledException: Response is committed, can‘t handle exception

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 報錯如題&#xff0c;如圖&#xff1a; 我的情況是&#xff1a;項目作壓測&#xff0c;這個接口請求量不大時是OK的 &#xff0c;當達到…

linux下如何做ghost,又簡單又方便,很實用的方法!!!

Linux 做ghost 使用指南。 轉載時請注明本博客地址。 1. 使用unetbootin-windows-585.exe 軟件做 ubuntu 的liveusb &#xff0c;一定是做liveusb&#xff0c;不是liveCD&#xff0c;如果你做的是liveCD&#xff0c;要把做好的文件拷出來&#xff0c;否則&#xff0c;重…

Webpack4: Tree-shaking 深度解析

什么是Tree-shaking 所謂Tree-shaking就是‘搖’的意思&#xff0c;作用是把項目中沒必要的模塊全部抖掉&#xff0c;用于在不同的模塊之間消除無用的代碼&#xff0c;可列為性能優化的范疇。 Tree-shaking早期由rollup實現&#xff0c;后來webpack2也實現了Tree-shaking的功能…

真格量化——GFTD策略

#!/usr/bin/env python # coding:utf-8 from PoboAPI import * import datetime import numpy as np import math#開始時間,用于初始化一些參數 def OnStart(context) :print "I\m starting..."#設置全局變量g.signalcount = 0 g.signal_list = []g.buysignal = 0 g…

解決org.hibernate.loader.custom.NonUniqueDiscoveredSqlAliasException: Encountered a duplicated sql ...

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 報錯如題&#xff1a; org.hibernate.loader.custom.NonUniqueDiscoveredSqlAliasException: Encountered a duplicated sql alias [id]…

Spring WebFlux 響應式編程學習筆記(一)

各位Javaer們&#xff0c;大家都在用SpringMVC吧&#xff1f;當我們不亦樂乎的用著SpringMVC框架的時候&#xff0c;Spring5.x又悄(da)無(zhang)聲(qi)息(gu)的推出了Spring WebFlux。web? 不是已經有SpringMVC這么好用的東西了么&#xff0c;為啥又冒出個WebFlux&#xff1f;…

Django Rest Framework -解析器

基本代碼結構 urls.py rom django.conf.urls import url, include from web.views.s5_parser import TestViewurlpatterns [url(rtest/, TestView.as_view(), nametest), ]views.py from rest_framework.views import APIView from rest_framework.response import Response f…

真格量化——菜粕策略

#!/usr/bin/env python # coding:utf-8 from PoboAPI import * import datetime import time import numpy as np from copy import *#開始時間,用于初始化一些參數 def OnStart(context) :context.myacc = None#登錄交易賬號if context.accounts["回測期貨"].Login…

PostgreSQL查看版本信息

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 1.查看客戶端版本 psql --version 1 2.查看服務器端版本 2.1 查看詳細信息 select version(); 1 2.2 查看版本信息 show server_ve…

U盤版便攜式Linux制作, casper-rw 解析

一直都在想&#xff0c;不管用誰的電腦&#xff0c;我都可以得到一個完全一致的工作環境&#xff0c;上面有我喜愛的軟件&#xff0c;有我保存的重要資料&#xff0c;甚至瀏覽器的各種偏好都得一模一樣&#xff01;現在的云計算技術可以部分解決這個問題&#xff0c;但是遠遠不…

真格量化-50ETF期權波動率策略

#!/usr/bin/env python # coding:utf-8 from PoboAPI import * import datetime import time import numpy as np #日線級別 #開始時間,用于初始化一些參數 def OnStart(context) :print("I\m starting...")#設定一個全局變量品種,本策略交易50ETF期權g.code = Get…

canvas反向裁剪技巧

我們都知道在canvas 可以通過clip來實現剪裁功能&#xff0c;其步驟一般是先設置要裁剪的區域&#xff08;路徑&#xff09;&#xff0c;然后通過ctx.clip()的實現裁剪&#xff0c;裁剪之后&#xff0c;后續的繪制只能在裁剪的區域顯示效果&#xff0c;比如如下一段代碼&#x…

set 和select 的區別

簡單賦值是沒有區別的 轉載于:https://www.cnblogs.com/bingyizhihun/p/10597908.html