小白量化彩票實戰(2)獎號特征值與編碼器應用
我寫彩票的博客,不是鼓勵大家去買彩票,讀者要以學習編程和娛樂的思想來看待,
索普玩的21點,只有1,2副牌,牌發完再重新洗牌,所以通過記牌,計牌估算概率,當形勢有利時才下賭注 !賭場通過監控,發現索普經常贏錢,所以把索普設定為賭場黑名單,不允許他進賭場,索普寫了本關于21點的書–《戰勝莊家》,誰都想發財,這本書銷量很大,索普沒有靠賭博發財,靠賣書大賺一筆,很快出現無限個“索普”,賭場的黑名單越來越長,終究設定黑名單不是辦法,于是賭場把撲克牌由2副改為8副,不用發牌結束就重新洗牌,所以索普那套記牌方法已經沒用了,因此,索普的江湖不是你的江湖,挖礦不如賣鏟子賺錢,
所以說世界上沒有賣搖錢樹的,不要問我的彩票軟體能不能賺錢,你用的股票軟體和量化軟體能賺錢嗎?
我是碼農,靠敲代碼賺錢,我定做軟體,以及定做彩票軟體,開發股票公式指標,軟體分析思路是你提供的,我只是用程式實作了你的分析思路而已,
說說我的經歷,在2013年我感覺收入不夠付出,看到賣彩票店,想買彩票發財,我想到能不能用程式來算號,可是我根本不會在Windows下開發軟體,于是我選擇容易學習的Foxpro的windows軟體Visual FoxPro 9.0(簡稱VFP9)來學習編成開發,興趣是學習最大的動力! 從零開始學習,花費了不到1年時間學會了Visual FoxPro 9.0開發程式,最后自己買彩票書(買了別人的鏟子),琢磨了彩票分析程式,花了幾千元去買彩票,也沒中大獎,

(我設計的雙色球彩票助理軟體)
于是我2014-2017年幫彩民定做彩票軟體,賺了幾萬元,看來賣鏟子能賺錢 !
下面是我為彩民定做的彩票軟體,通過定制彩票軟體,我學會了很多彩民的分析思路,



根據彩民的思路,我撰寫的菜軟開發教程電子書,也在淘寶上賣200元,教大家做如何做鏟子,

原先這些軟體是我用VFP9開發的,現在轉化為Python程式,進一步用股票量化分析和深度學習來嘗試研究彩票,
下來進入正題,繼續講Python彩票軟開發,
一、極值概念與應用機制
極值:故名思意,就是極大值或極小值,最大值或最小值的意思,
通常利用極值來排除或選擇號碼,例如上篇文章的例子,雙色球藍11號,已經連出3期,統計歷史藍號最大連出也是3,3就是藍號最大連出的極值,因此我們可以用排除法,在投注時排除藍11號,在分析雙色球紅號區時,某個紅號歷史上最大不出極值(不出現在中獎號碼中,或空期)等于現在空期,在組合號時可以優先選擇該紅號,
極值概念可以應用到各種分析中,包括大小號比利等等,
二、編碼器
計算機中只能計算數字,文字資訊不能夠處理,例如單雙比“4:2”,大小比“3:3”等等,我們要把這些資料轉化為對應的數字,這就需要統一的編碼,
雙色球只有6個號,奇偶比只有下面6個組合:0:6,1:5,2:4,3:3,4:2,5:1,6:0,在計算機中是文本資訊,我們用固定的規則轉化為對應的數字0到6,
HP_cp模塊提供了3個編碼器,編碼器回傳的是字典值,
例如編碼器函式bmq2回傳下面資訊,
{‘0:6’: 0, ‘1:5’: 1, ‘2:4’: 2, ‘3:3’: 3, ‘4:2’: 4, ‘5:1’: 5, ‘6:0’: 6}
如果大小比為:‘4:2’對應的數字是4,
import HP_cp as hcp #小白量化彩票模塊
b2=hcp.bmq2(m=6)
print(b2)
print('4:2對應數字是:',b2['4:2'])
b3=hcp.bmq3(m=6)
print(b3)
print('4:1:1對應數字是:',b3['4:1:1'])
b4=hcp.bmq4(m=6)
print('1:3:1:1對應數字是:',b4['1:3:1:1'])
運行結果:
{'0:6': 0, '1:5': 1, '2:4': 2, '3:3': 3, '4:2': 4, '5:1': 5, '6:0': 6}
4:2對應數字式: 4
{'0:0:6': 0, '0:1:5': 1, '0:2:4': 2, '0:3:3': 3, '0:4:2': 4, '0:5:1': 5, '0:6:0': 6, '1:0:5': 7, '1:1:4': 8, '1:2:3': 9, '1:3:2': 10, '1:4:1': 11, '1:5:0': 12, '2:0:4': 13, '2:1:3': 14, '2:2:2': 15, '2:3:1': 16, '2:4:0': 17, '3:0:3': 18, '3:1:2': 19, '3:2:1': 20, '3:3:0': 21, '4:0:2': 22, '4:1:1': 23, '4:2:0': 24, '5:0:1': 25, '5:1:0': 26, '6:0:0': 27}
4:1:1對應數字是: 23
1:3:1:1對應數字是: 44
其他類似的問題都可以用類似的方法來解決,例如前面博客介紹,你告訴計算機漲跌,他不懂,你把上漲記為1,不上漲記0,電腦就會處理資料了,
再比如K線圖形形態識別,電腦不懂什么是上漲、下跌、盤整,你把這些文字轉為對應的1,2,0數字,電腦就可以運算了,
三、彩票的特征
特征可以理解為區分不同號碼的分析指標,特征在股票中,可以理解為股票指標,
我們以雙色球來介紹彩票的特征值,
藍號的特征有大小號,質數合數號,單雙號(余二,除2的余數0,1),余三(除三的余數0,1,2),余四(除4的余數0,1,2,3),以及統計歷史獲得冷號,熱號,溫號等等,
lh=9
if lh%2==0:
print('數字',lh,"是偶數")
else:
print('數字',lh,"是奇數")
if hcp.zhishu(lh)==0:
print('數字',lh,"是質數")
else:
print('數字',lh,"是合數")
執行結果:
數字 9 是奇數
數字 9 是合數
紅號的特征值:
和數:所有紅號數的和,
df['sumh']=df['h1']+df['h2']+df['h3']+df['h4']+df['h5']+df['h6']
全和:包含所有紅號數和藍號數的和,
df['suma']=df['h1']+df['h2']+df['h3']+df['h4']+df['h5']+df['h6'] +df['lh']
紅號跨度:最大紅號與最小紅號的差,
df['kd']=df['h6']-df['h1']
奇偶比:奇數:偶數,
大小比:大數:小數,
質合比:質數:合數,
AC值:AC值表示的是號碼的復雜程度,所以雙色球AC值也稱作“雙色球數字復雜指數”,AC值越小,說明號越傻,
hm1='06 10 13 25 26 32'
hm2=hcp.str2num(hm1) #轉化為數字串列
print(hm2)
print(hm1,'奇偶比:',hcp.qab(hm2))
l1,l2=hcp.qab2(hm2)
print(hm1,'奇數個數:',l1,'偶數個數:',l2)
print(hm1,'大小比:',hcp.dxb(hm2))
l3,l4=hcp.dxb2(hm2)
print(hm1,'大數個數:',l3,'小數個數:',l4)
print(hm1,'質合比:',hcp.zhb(hm2))
l5,l6=hcp.zhb2(hm2)
print(hm1,'質數個數:',l5,'合數個數:',l6)
print(hm1,'AC值:',hcp.ac(hm2))
print([1,2,3,4,5,6],' AC值:',hcp.ac([1,2,3,4,5,6]))
print([2,4,6,8,10,12],' AC值:',hcp.ac([2,4,6,8,10,12]))
程式運行結果如下:
[6, 10, 13, 25, 26, 32]
06 10 13 25 26 32 奇偶比: 4:2
06 10 13 25 26 32 奇數個數: 4 偶數個數: 2
06 10 13 25 26 32 大小比: 3:3
06 10 13 25 26 32 大數個數: 3 小數個數: 3
06 10 13 25 26 32 質合比: 2:4
06 10 13 25 26 32 質數個數: 2 合數個數: 4
06 10 13 25 26 32 AC值: 8
[1, 2, 3, 4, 5, 6] AC值: 0
[2, 4, 6, 8, 10, 12] AC值: 0
類似的彩票特征值很多,還有很多彩民發現了更多的特征值來分析彩票,因此我在彩票軟體中開發過彩票分析指標系統,彩友可以自編彩票分析公式,提取自編特征因子,在Python中就不用了,我們把彩票資料,轉化為股票資料格式,就可以使用股票自編公式系統,來做彩票特征因子資料,
四、彩票號碼轉化為股票資料
把彩票號碼轉化為股票資料,就可以用股票分析的工具進行分析彩票了,
雙色球開獎有順序,下面是雙色球開獎紅球順序

我們以2021018資料為例,開獎資料如下:
2021018 2021-02-23 32 25 02 08 14 23
open=32
close=23
high=32
low=2
這樣的資料想不像股票K線資料?是不是可以用股票的各種分析指標來分析彩票了,
不過我們無法獲取所有開獎順序,就用如下方式來做,
2021018開獎輸入如下:
2021018 02 08 14 23 25 32
open=02
low=23
close=32
high=32
這樣也可以當股票資料來處理,也有些彩友用其他方法計算出來這幾個值,后面就可以使用很多股票分析指標以及深度學習來處理過票資料了,
下面集中給出程式演示,
#購買<零基礎搭建量化投資系統>正版書,送小白量化軟體源代碼,
# https://item.jd.com/61567375505.html
#獨狼荷蒲qq:2775205
#小白量化彩票軟體開發群:712300766
#小白量化PythonTkinter軟體開發群:524949939
#電話微信:18578755056
#微信公眾號:獨狼股票分析
import math
import datetime as dt
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import HP_plt as hplt #小白量化指標繪圖模塊
from HP_formula import * #小白量化仿通達信公式函式庫
import HP_cp as hcp #小白量化彩票模塊
import HP_global as g #小白量化全域變數庫
import HP_plt as hplt #小白量化指標繪圖模塊
plt.rcParams['font.sans-serif']=['SimHei'] #用來正常顯示中文標簽
plt.rcParams['axes.unicode_minus']=False #用來正常顯示負號
#白底色
g.ubg='w'
g.ufg='b'
g.utg='b'
g.uvg='#1E90FF'
code="雙色球彩票" #品種
#獲取本地ssq.csv雙色球資料
df=pd.read_csv('ssq.csv' , encoding='gbk')
df=df.drop(df.columns[0], axis=1)
# 轉化股票資料
df['open']=df['h1']
df['low']=df['h1']
df['open']=df['h6']
df['high']=df['h6']
# 和數
df['sumh']=df['h1']+df['h2']+df['h3']+df['h4']+df['h5']+df['h6']
# 和數的5期平均線
df['ma5']=MA(df['sumh'],5)
# 和數的20期平均線
df['ma20']=MA(df['sumh'],20)
# 全和數
df['suma']=df['h1']+df['h2']+df['h3']+df['h4']+df['h5']+df['h6'] +df['lh']
#跨度
df['kd']=df['h6']-df['h1']
#計算獎號AC值
df['ac']=[hcp.ac(hcp.str2num(x)) for x in df.hh.astype(str)]
df['maac']=MA(df['ac'],5) #AC值的平均線
#2段編碼器
bm2=hcp.bmq2()
#計算獎號紅號奇偶比,單雙比
df['dsb']=[hcp.qab(hcp.str2num(x)) for x in df.hh.astype(str)]
df['dsb2']=[bm2[x] for x in df.dsb.astype(str)] #文本轉為數字
#計算藍號單雙號,奇偶號
df['lhds']=[x%2 for x in df.lh.astype(int)] #文本轉為數字
#小白量化資料格式化
df['open']=df['h1']
df['low']=df['h1']
df['high']=df['h6']
df['close']=df['h6']
mydf=df.copy()
CLOSE=mydf['close']
LOW=mydf['low']
HIGH=mydf['high']
OPEN=mydf['open']
#RSI指標
def RSI(N1=5):
LC = REF(CLOSE, 1)
RSI1 = SMA(MAX(CLOSE - LC, 0), N1, 1) / SMA(ABS(CLOSE - LC), N1, 1) * 100.00
return RSI1
#計算RSI指標值
mydf['rsi']=RSI(6)
mydf['rsi2']=RSI(12)
print(mydf)
#資料裁減
m=1
mydf=mydf.tail(100*m).head(100).copy()
#繪制圖形
plt.figure(1,figsize=(16,12), dpi=80)
#繪制主圖指標
ax1=plt.subplot(311)
mydf['h1'].plot.line(legend=True,linewidth=1)
mydf['h2'].plot.line(legend=True,linewidth=1)
mydf['h3'].plot.line(legend=True,linewidth=1)
mydf['h4'].plot.line(legend=True,linewidth=1)
mydf['h5'].plot.line(legend=True,linewidth=1)
mydf['h6'].plot.line(legend=True,linewidth=1)
#繪制副圖指標2
ax2=plt.subplot(312)
mydf['ac'].plot.line(legend=True,linewidth=1)
mydf['maac'].plot.line(legend=True,linewidth=1)
#繪制副圖指標3
ax3=plt.subplot(313)
mydf['rsi'].plot.line(legend=True,linewidth=1)
mydf['rsi2'].plot.line(legend=True,linewidth=1)
plt.show()
程式運行結果如下:

本篇文章先寫到這里,
后面文章將介紹彩票特征分析,統計,仿通達信指標分析,深度學習以及過濾和縮水等技術,
購買《零基礎搭建量化投資系統――以Python為工具》(https://item.jd.com/61567375505.html)一書,就能得到小白量化第二代全部源代碼,其中包括完整的HP_cp模塊,
請點贊本文,你的鼓勵是我寫作的動力!
請持續關注我的博客,我的進步,就是你的進步!
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/264779.html
標籤:AI
