python:计算 stock CDP

Python cdp ( Chrome DevTools Protocol ) 爬虫 devtools-protocol:https://github.com/ChromeDevTools/devtools-protocol Chrome DevTools Protocol:https://chromedevtools.github.io/devtools-protocol/ Awesome Chrome DevTools :https:... 阅读详情

CDP指标解释:https://baike.baidu.com/item/CDP指标/12789074?fr=aladdin

get_cdp.py

# coding: utf-8
import os, sys
import numpy as np
import pandas as pd
import tushare as ts
import math

if len(sys.argv) ==2:
    code = sys.argv[1]
    i = -1
elif len(sys.argv) ==3:
    code = sys.argv[1]
    i = int(sys.argv[2])
else:
    print('usage: python get_cdp.py stockcode ')
    sys.exit(1)

if len(code) !=6:
    print('stock code length: 6')
    sys.exit(2)

df = ts.get_k_data(code)
if df.empty ==True:
    print(" df is empty ")
    sys.exit(2)

print("len(df)=", len(df))
if len(df) <15:
    print(" len(df) <15 ")
    sys.exit(2)

# 收盘价
close = np.array(df['close'])
C = close[i]
# 最高价
high = np.array(df['high'])
H = max(high[i], close[i-1])
# 最低价
low = np.array(df['low'])
L = min(low[i], close[i-1])
print("H={0:.2f} , L={1:.2f} , C={2:.2f} , H-L={3:.2f}\n".format(H,L,C,H-L))
# 计算 CDP
# 第一种算法: CDP=(H+L+C)/3  早年股民用得比较多,因为用计算器方便计算.
cdp1 = round((H+L+C)/3, 2)
print("cdp1={0:.3f}".format(cdp1))
#此五个数值的排列顺序为(从最高到最低):AH(高价突破点),NH(卖点),CDP,NL(买点),AL(低价突破点)。
AH = cdp1+(H-L)
NH = cdp1*2 -L
AL = cdp1-(H-L)
NL = cdp1*2 -H
print("AH={0:.3f} , NH={1:.3f} , NL={2:.3f} , AL={3:.3f}".format(AH,NH,NL,AL))
print("AH:{0:.2f}% , NH:{1:.2f}% , NL:{2:.2f}%, AL:{3:.2f}%".format((AH/C-1)*100,(NH/C-1)*100,(NL/C-1)*100,(AL/C-1)*100))
print('----------')
# 第二种算法: CDP=(H+L+C*2)/4  现在用得比较多,因为有了电脑.
cdp = (H+L+C*2)/4
print("cdp2={0:.3f}".format(cdp))
#此五个数值的排列顺序为(从最高到最低):AH(高价突破点),NH(卖点),CDP,NL(买点),AL(低价突破点)。
AH = cdp+(H-L)
NH = cdp*2 -L
AL = cdp-(H-L)
NL = cdp*2 -H
print("AH={0:.3f} , NH={1:.3f} , NL={2:.3f} , AL={3:.3f}".format(AH,NH,NL,AL))
print("AH:{0:.2f}% , NH:{1:.2f}% , NL:{2:.2f}%, AL:{3:.2f}%".format((AH/C-1)*100,(NH/C-1)*100,(NL/C-1)*100,(AL/C-1)*100))

运行 python get_cdp.py 600030

画股价走势图 stock_cdp.py

# coding: utf-8
import os, sys
import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
import tushare as ts
import math

if len(sys.argv) ==2:
    code = sys.argv[1]
else:
    print('usage: python stock_cdp.py stockcode ')
    sys.exit(1)

if len(code) !=6:
    print('stock code length: 6')
    sys.exit(2)

df = ts.get_k_data(code)
if df.empty ==True:
    print(" df is empty ")
    sys.exit(2)

if len(df) <15:
    print(" len(df) <15 ")
    sys.exit(2)

# 收盘价
close = np.array(df['close'])
C = close[-1]
# 最高价
high = np.array(df['high'])
H = high.max()
# 最低价
low = np.array(df['low'])
L = low.min()
print("H={0:.2f} , C={1:.2f} , L={2:.2f} , H-L={3:.2f}\n".format(H,C,L,H-L))
# 计算 CDP
# 第一种算法: CDP=(H+L+C)/3  早年股民用得比较多,因为用计算器方便计算.
df['cdp1'] = df[['close']].apply(lambda x:round((H+L+x)/3,2))
# 第二种算法: CDP=(H+L+C*2)/4  现在用得比较多,因为有了电脑.
df['cdp2'] = df[['close']].apply(lambda c:(H+L+c*2)/4)
print(df[['close','cdp1','cdp2']].tail(10))
# 计算 当前 CDP
cdp1 = round((H+L+C)/3, 3)
cdp2 = (H+L+C*2)/4
print("C-cdp1= {0:.3f}".format(C-cdp1))
print("C-cdp2= {0:.3f}".format(C-cdp2))

df = df[ df['date'] > '2018-01-01']
df.index = pd.to_datetime(df.date)
# 画股价走势图
fig,axes = plt.subplots(2,1)
df[['close','cdp1','cdp2']].plot(ax=axes[0], grid=True, title=code)
# 画股票成交量图
df[['volume']].plot(ax=axes[1], grid=True)
plt.show()

运行  python stock_cdp.py 600030 

600030_cdp

Chrome DevTools MCP:AI编码代理的网页运行时感知协议 Chrome DevTools Protocol(CDP)是Chromium系浏览器提供的底层调试接口,支撑着性能分析、内存快照、DOM与样式实时监控等核心能力;MCP(Message Communication Protocol)并非新工具,而是对CDP的语义化重构——它将原本面向人类开发者的松散JSON-RPC调用,升级为专为AI编码代理设计的状态同步消息管道。其技术价值在于实现毫秒级页面运行时全息感知,支持结构化状态快照、事件驱动更新与语义化交互指令,显著提升AI在RPA、智能测试、网页操作类大模型训 阅读详情

相关推荐

Python网络爬虫工具选型决策指南:静态与动态场景实战对比

网络爬虫是数据采集的基础技术,其核心在于根据目标网站的技术特征匹配合适的HTTP客户端与HTML解析方案。理解Requests、BeautifulSoup、lxml、Selenium、Playwright和Scrapy的本质差异,关键不在功能罗列,而在识别页面是否依赖JavaScript渲染、反爬强度如何、并发规模与资源约束怎样。例如,静态页面首选Requests+lxml以兼顾速度与稳定性;动态渲染且需高可靠性时,Playwright的原生等待机制优于Selenium;而强反爬环境则需结合undetect

chushang0934的博客 416

cdp 方式的 python 爬虫

CDP ( Chrome Debugging Protocol ) == Chrome 调试协议,通过 WebSocket 直接控制 Chrome/Chromium,不需要 chromedriver 驱动,可以:渲染 JS、抓接口请求、拦截请求、执行 JS、获取 cookie、截图,适合 SPA、加密接口、反爬站点。

freeking101的博客 1万+

Python自动化抢票实战:从原理到实现,构建高效合规的抢票工具

Web自动化技术通过模拟用户操作或直接处理网络请求,实现对网页流程的自动控制,其核心价值在于提升重复性任务的执行效率与精准度。在Python生态中,Selenium和Playwright等框架为浏览器自动化提供了强大支持,而Requests库则能高效处理HTTP协议请求,二者结合可应对复杂的Web交互场景。这种技术广泛应用于软件测试、数据采集和流程自动化等领域。针对票务抢购这一高并发、高实时性需求场景,合理运用自动化工具可以显著提升成功率。本文聚焦于Python自动化抢票的实现,深入探讨了如何通过Selen

weixin_30607029的博客 347

前端加密对抗——CDP远程调用Debug断点函数python代码实现

觉得这个方法很方便,以前经常遇到开发自己改了加密代码导致同样是AES等加密算法,加密出来不一样,但是用CDP的话就能解决这个问题。上面那篇也没有具体实现的源码,于是自己研究了下,基本实现了,暂时没找到全流程加解密的站,找到了再把返回包解密的代码补上。测试网址:某网站的登录接口。首先设置中开启Protocol Monitor添加协议监视器。

qq_44657899的博客 3156

Selenium与Pandas实战:动态渲染财务报表数据爬取与解析

在数据采集领域,动态渲染页面是常见的技术挑战,其核心原理是页面内容通过JavaScript在客户端浏览器中动态生成,而非直接包含在初始HTML源码中。这导致传统的基于静态HTML解析的爬虫技术失效。为了应对这一挑战,工程师们引入了浏览器自动化技术,其技术价值在于能够模拟真实用户行为,完整执行页面JavaScript,从而获取最终渲染后的DOM结构。这一技术广泛应用于金融数据分析、市场研究、竞品监控等需要获取实时、结构化数据的场景。本文聚焦于结合Selenium进行浏览器自动化与Pandas进行数据解析的实战

A458545418的博客 404

Selenium多线程爬虫实战:绕过复杂反爬与MongoDB数据存储

在数据采集领域,反爬机制是开发者面临的核心挑战之一。其原理通常涉及请求参数加密、行为指纹检测和动态内容加载,旨在识别和拦截自动化脚本。为了高效、稳定地获取数据,技术选型至关重要。Selenium通过模拟真实浏览器环境,能够有效绕过前端加密和动态令牌验证,从根本上规避复杂的逆向工程。结合多线程并发技术,可以显著提升模拟操作的数据采集效率,弥补其单线程速度的不足。在数据存储层面,面对结构灵活、嵌套关系复杂的网页内容(如论坛帖子和评论),MongoDB的文档模型提供了比传统关系型数据库更自然的适配能力,支持灵活的

weixin_30314813的博客 291

【Selenium】Python & Selenium 执行 CDP

🎈🎈🎈Python & Selenium 执行 CDP,执行CDP哦!!!写的很详细,nice~ 用作于记录学习所得,无实质性意义。

苟日新,日日新,又日新!!! 7477

Copilot Studio + MCP协议构建企业级多智能体工作流

智能体(Agent)是实现AI从辅助编码迈向自主执行的关键范式,其核心在于任务闭环、跨系统协同与长期可靠性。MCP协议作为智能体间的标准化动作语言,解决了不同模型与框架‘各说各话’的集成难题;Copilot Studio则提供企业级对话编排、技能治理与生产监控能力;而多智能体协同的本质,是通过清晰职责划分、契约化输入输出和统一领域模型,实现可测试、可替换、可审计的工程化落地。本文聚焦真实跨境电商退货场景,详解如何基于Copilot Studio、MCP Server(Python/Playwright)与P

623

python-chrome-devtools-protocol:简化浏览器远程控制

python-chrome-devtools-protocol:简化浏览器远程控制 项目介绍 在当代Web开发与测试领域,浏览器自动化技术扮演着举足轻重的角色。python-chrome-devtools-protocol(简称PyCDP)正是这样一个开源库,它为开发者提供了Python语言封装,用于处理Chrome DevTools Protocol(CDP)指定的类型、命令和事件。PyCDP不...

gitblog_00860的博客 1204

ichrome:适用于人类的Chrome控制器,基于Chrome Devtools协议(CDP)和python3.7 +

适用于人类的Chrome控制器,基于和python3.7 +。 为什么? Pyppeteer很棒,但是我不需要那么多 pyppeteer的拼写很混乱 事件驱动的编程并非总是明智的。 Selenium慢网络驱动程序经常带有内存泄漏。 迫切需要一个稳定的工具包来与Chrome浏览器(或其他基于Blink的浏览器,例如Chromium)进行通信 快速的http和websocket连接(基于aiohttp),用于asyncio环境 ichrome.debugger是一个同步工具,取决于ichrome.async_utils 交互式调试的一种选择。 产品特点 Chrome进程守护进程 自动重启 命令行使用支持 异步环境兼容 连接到现有的Chrome 稳定websocket下的选项卡上的操作打包非常常用的功能 ChromeEngine进度池实用程序通过支持HTTP api路由器 更重要的是? 众所周知, Chrome浏览器(包括各种WebDriver版本)在长期运行的场景中会出现以下问题: 内存泄漏 缺少websocket连接 无限增长的缓存 其他无法预测的问题... 因此,您可能需

现货CDP计算

免费的CDP计算 现货蜡烛 计算 有做金属现货的朋友可以来看看

Python自动化流水线实战:从文件处理到PDF提取的生产级架构

Python自动化本质是构建可维护、可观测、可扩展的数据处理流水线,其核心在于将重复性任务解耦为输入、调度、处理、输出与监控五层结构。基于Pandas数据清洗管道和PDF内容精准提取等关键技术,开发者能摆脱脚本碎片化困境,实现跨源数据归一化、异常熔断、多通道交付与智能告警。该架构广泛适用于企业报表生成、运营提效及财务对账等高频场景,尤其适合缺乏专职IT支持但亟需流程自动化的中小团队落地实施。

weixin_34416754的博客 527

示例:CDP实例示例

CDP-示例 关于 理事会数据项目是一个开放源代码项目,致力于为记者,活动家,研究人员以及我们服务的每个社区的所有成员提供他们所需的工具,以使他们了解最新情况并追究其理事会成员的责任。 通过合并和简化有关理事会会议和行动的信息源,CDP确保每个人都有权参加地方政府。 此仓库是CDP实例的示例! CDP支​​持的每个市政当局(一个CDP实例)都有开源维护者,他们编写代码以收集市政会议信息并将其编译为一个资源,然后由我们的一般CDP工具进行处理,存储和访问。 实例信息 此仓库服务于市:示例 贡献 如果您希望对CDP做出贡献,请注意,最好的方法是对组成CDP实例本身的上游库做出贡献。 这些在下面详细说明。 :包含CDP部署的所有数据库模型,数据处理管道和基础结构代码。 此处的贡献将可用于所有CDP实例。 完全用Python编写。 :包含Web应用程序要托管在GitHub Pages上

本地化AI助手部署指南:OpenClaw实战与优化

AI助手在现代办公场景中扮演着越来越重要的角色,从云端服务到本地化部署成为技术演进的新趋势。本地化AI解决方案通过优化网络通信协议和精简中间件层,能实现毫秒级响应速度,特别适合处理Excel数据分析等高频办公需求。相比商业产品,本地部署的OpenClaw方案不仅提供无限制的上下文记忆能力,还能通过插件系统实现与ERP等内部系统的深度集成。在金融数据分析、代码审查等专业场景中,这种高度定制化的AI助手展现出显著优势。本文以OpenClaw为例,详细解析从硬件选型到集群扩展的全链路部署方案,帮助开发者构建高性能

weixin_30735745的博客 353

Python库 | cdp_client-1.2-py3-none-any.whl

资源分类:Python库 所属语言:Python 资源全名:cdp_client-1.2-py3-none-any.whl 资源来源:官方 安装方法:https://lanzao.blog.youkuaiyun.com/article/details/101784059

电商平台大数据分析指标

一、五大关键数据分析指标 1.1活跃用户量 活跃用户量是一个基本的指标,有 DAU(日活跃用户)、WAU(周活跃用户)和 MAU(月活跃用户)三个层次; 1.2转化 转化是一个非常重要的指标,电商运营需要关注主路径、次路径甚至精细到每一个品类 / SKU 的转化率; 1.3留存 留存要从不同的时间周期上研究,包括次日留存率、3 日、7 日、30 日留存; 1.4复购 复购则要从 3 个角度去看,复购用户量、复购率和复购金额比; 1.5GMV GMV 是最重要的指标,我们的运营最终是围绕这

默主归沙的博客 4818

Selenium实战:动态网页爬虫开发指南与东方财富股吧数据抓取

在Web数据采集领域,动态网页内容的抓取是常见的技术挑战。其核心原理在于现代网站普遍采用JavaScript进行异步数据加载和页面渲染,传统的静态HTML解析方法对此无能为力。为了解决这一问题,Selenium等浏览器自动化工具应运而生,它们通过模拟真实用户操作,能够完整执行页面脚本并获取最终渲染的DOM结构,从而有效抓取动态内容。这项技术在**舆情分析**和**数据采集**等场景中具有重要价值,尤其适用于论坛、社交媒体等交互复杂的平台。本文将以东方财富股吧为例,详细阐述如何结合Selenium与Beaut

weixin_33719619的博客 532

AUTOSAR&UDS 理论要点及isolar实战-DEM模块

从这节开始,将讲解UDS诊断中非常重要的知识点:故障事件触发、故障信息上报、故障信息处理、故障信息存储和故障系统降级,后续会陆续更新。

cqaa11的博客 552

MuleSoft+LLM企业级AI编排:构建可审计、可治理的智能工作流

AI编排(AI Orchestration)是将大语言模型(LLMs)与企业现有系统深度协同的关键技术范式,其核心在于解决意图理解、多源数据调度、安全可控执行与结果可信交付的闭环问题。它并非简单调用API,而是通过标准化流程引擎实现自然语言指令到结构化系统操作的精准翻译。MuleSoft凭借成熟的连接器生态、细粒度策略治理、全链路可观测性及开箱即用的运行时保障,成为构建高可靠AI编排层的事实标准。该能力广泛应用于智能采购分析、供应链风险预警、客户流失预测等需跨系统协同、强合规要求、业务人员低门槛参与的典型场

weixin_30298497的博客 410

MIMO-OFDM通信系统性能仿真及MATLAB实现

将MIMO和OFDM技术结合起来,可以充分利用两者的优点,进一步提高无线通信系统的性能。在MIMO-OFDM系统中,多个天线同时发射多个子载波,称为多天线多载波(MIMO-OFDM)系统。随着无线通信技术的不断发展,MIMO-OFDM技术因其高效、可靠和适应性等优点已被广泛应用于新一代通信系统中。本篇文章旨在介绍MIMO-OFDM通信系统的基本原理及其性能评估方法,并结合MATLAB提供相关代码实现。本篇文章介绍了MIMO-OFDM通信系统的基本原理和性能评估方法,并结合MATLAB提供了相关的实现代码。

学习使你进步。 2218

PICO640红外探测器配置模块verilog

Ulis pico 640红外探测器配置模块

Go Forward Forever! 2032
上一篇: groovy:ta-lib 计算 stock ATR
下一篇: python:tushare 红三兵
belldeep
博客等级 码龄20年 1820粉丝 584原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值