股票家园吧 关注:17,056贴子:76,544

准备亲自动手做一个股票交易分析软件

只看楼主收藏回复

发觉现在的股票交易软件都不太好用和适合我用,准备亲自动手做一个股票交易分析软件。支持的给顶一下!
前段时间就这个问题和我在清华大学的一位朋友交流了一下,这个软件拟包含以下板块:长线分析,波段分析,短线分析,股票数据傅里叶分析,股票数据随机函数分析,股票动力学分析,股票惯性-从众心理分析,股票走势几率预测,股票支撑压力位几率性预测,虚拟未来走势,庄家大单跟踪,庄家成本分析,自动监控委托交易等等。主要想法是把数理统计的理论和随机变量的一些分析方法应用到股市上来,同时融入一些弹性力学东西。
股票交易主要是凭人的经验来操作,但这往往会由于采样数据太少,经验不足的原因经常出错,而且很是受情绪的影响。而通过大量的采集股票数据,然后通过数理方法去客观地分析是该买入还是卖出,可能会减少出错,而大量的数据分析,只能借助计算机才能完成。
好吧,不知各位有什么看法和补充。谢谢!


IP属地:广西1楼2016-03-18 16:11回复
    发觉现在的股票交易软件都不太好用和适合我用,准备亲自动手做一个股票交易分析软件。支持的给顶一下!
    前段时间就这个问题和我在剑桥大学的一位朋友交流了一下,这个软件拟包含以下板块:菜鸟心理分析,大神心理分析,短线选手心理分析,长线选手心理分析,深套股民心理分析,解套股民分析,反复深套-解套股民心理分析,股票走势预测,股票支撑压力位几率性预测,虚拟未来走势,庄家大单跟踪,庄家成本分析,自动监控委托交易等等。主要想法是把数理统计的理论和股民心理的一些分析方法应用到股市上来,同时融入一些弹性力学东西。
    股票交易主要是凭人的经验来操作,但这往往会由于采样数据太少,心理承受能力的原因经常出错,而且很是受情绪的影响。而通过大量的采集股票数据,然后通过调节心理去客观地分析是该买入还是卖出,可能会减少出错,而大量的心理数据分析,只能借助计算机才能完成。
    好吧,不知各位有什么看法和补充。谢谢!


    IP属地:浙江来自Android客户端2楼2016-03-18 16:33
    收起回复
      支持楼主,好了弄出来给大伙开开眼界


      来自Android客户端3楼2016-03-18 17:04
      收起回复
        最好能监测频繁挂单,撤单


        IP属地:上海来自Android客户端4楼2016-03-18 18:22
        回复
          不明觉厉


          IP属地:浙江来自Android客户端5楼2016-03-18 20:22
          回复
            老板,招人不?貌似这十五字不够标准。


            IP属地:上海6楼2016-03-18 20:30
            收起回复
              这么屌,顶一个先~~~


              IP属地:广东来自Android客户端7楼2016-03-18 20:36
              回复
                人才


                来自Android客户端9楼2016-03-20 15:08
                回复
                  清华的,咋这吧人才济济啊


                  来自Android客户端10楼2016-03-20 21:10
                  回复
                    那玩意可不好做,盘中的我就不考虑了,我计划做一个盘后分析软件,明天我就买本书学习编程去


                    IP属地:北京来自iPhone客户端11楼2016-03-21 16:53
                    回复
                      哇靠 你这么厉害 做一个自动更新成绩单的先把 我这边按时更新不了 都变成一周一更了


                      12楼2016-03-22 14:08
                      收起回复
                        返回数据的意义如下:
                        这个字符串由许多数据拼接在一起,不同含义的数据用逗号隔开了,顺序号从0开始。
                        0:”大秦铁路”,股票名字;
                        1:”27.55″,今日开盘价;
                        2:”27.25″,昨日收盘价;
                        3:”26.91″,当前价格;
                        4:”27.55″,今日最高价;
                        5:”26.20″,今日最低价;
                        6:”26.91″,竞买价,即“买一”报价;
                        7:”26.92″,竞卖价,即“卖一”报价;
                        8:”22114263″,成交的股票数,由于股票交易以一百股为基本单位,所以在使用时,通常把该值除以一百;
                        9:”589824680″,成交金额,单位为“元”,为了一目了然,通常以“万元”为成交金额的单位,所以通常把该值除以一万;
                        10:”4695″,“买一”申请4695股,即47手;
                        11:”26.91″,“买一”报价;
                        12:”57590″,“买二”
                        13:”26.90″,“买二”
                        14:”14700″,“买三”
                        15:”26.89″,“买三”
                        16:”14300″,“买四”
                        17:”26.88″,“买四”
                        18:”15100″,“买五”
                        19:”26.87″,“买五”
                        20:”3100″,“卖一”申报3100股,即31手;
                        21:”26.92″,“卖一”报价
                        (22, 23), (24, 25), (26,27), (28, 29)分别为“卖二”至“卖四的情况”
                        30:”2008-01-11″,日期;
                        31:”15:05:32″,时间;


                        IP属地:广西13楼2016-03-22 15:35
                        收起回复
                          VERSION 5.00
                          Begin VB.Form Form1
                          Caption = "Form1"
                          ClientHeight = 3090
                          ClientLeft = 60
                          ClientTop = 450
                          ClientWidth = 4680
                          LinkTopic = "Form1"
                          ScaleHeight = 3090
                          ScaleWidth = 4680
                          StartUpPosition = 3
                          Begin VB.Timer Timer3
                          Left = 1320
                          Top = 120
                          End
                          Begin VB.Timer Timer2
                          Left = 120
                          Top = 120
                          End
                          Begin VB.Timer Timer1
                          Left = 720
                          Top = 120
                          End
                          Begin VB.CommandButton Command1
                          Caption = "开始"
                          Height = 375
                          Left = 1800
                          TabIndex = 0
                          Top = 2400
                          Width = 975
                          End
                          End
                          Attribute VB_Name = "Form1"
                          Attribute VB_GlobalNameSpace = False
                          Attribute VB_Creatable = False
                          Attribute VB_PredeclaredId = True
                          Attribute VB_Exposed = False
                          Private Const WM_GETTEXT = &HD
                          Private Const WM_SETTEXT = &HC
                          Private Const WM_KEYDOWN = &H100
                          Private Const WM_KEYUP = &H101
                          Private Const WM_GETTEXTLENGTH = &HE
                          Private Const VK_TAB = &H9
                          Private Const GW_CHILD = 5
                          Private Const GW_HWNDNEXT = 2
                          Private Const GW_HWNDFIRST = 0
                          Dim p As Long
                          Dim Pcount As Long
                          Dim DataP As Long
                          Dim DataPcount As Long
                          Dim Pzs As Long
                          Dim FormID As Long
                          Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)
                          Private Declare Function GetClassName Lib "user32" Alias "GetClassNameA" (ByVal hwnd As Long, ByVal lpClassName As String, ByVal nMaxCount As Long) As Long
                          Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
                          Private Declare Function GetForegroundWindow Lib "user32" () As Long
                          Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
                          Private Sub Command1_Click()
                          Pzs = 0
                          Timer1.Interval = 3000
                          End Sub
                          Private Sub Command1_KeyDown(KeyCode As Integer, Shift As Integer)
                          MsgBox (KeyCode)
                          End Sub
                          Private Sub Timer1_Timer()
                          Timer1.Interval = 0
                          If Pzs = 0 Then DataNew
                          Timer2.Interval = 100
                          End Sub
                          Private Sub Timer2_Timer()
                          Timer2.Interval = 0
                          If DataP < DataPcount Then
                          p = 0
                          Timer3.Interval = 100
                          DataP = DataP + 1
                          Else
                          Timer2.Interval = 0
                          DataSave
                          DataNext
                          End If
                          End Sub
                          Private Sub Timer3_Timer()
                          If DataP < DataPcount Then
                          SetGridDataJ 1, 1
                          End If
                          If DataP = DataPcount Then
                          SetGridDataEnd 1, 1
                          End If
                          p = p + 1
                          If p > Pcount Then
                          Timer3.Interval = 0
                          Timer2.Interval = 100
                          End If
                          End Sub
                          Private Sub SetData(data As String)
                          Clipboard.SetText data
                          PasteKey
                          End Sub
                          Private Sub DataNew()
                          FormID = GetForegroundWindow()
                          FindCont = 0
                          If Pzs = 0 Then SetDataW FormID, " ", "TComboBox", 1
                          keybd_event 17, 0, 0, 0
                          keybd_event 78, 0, 0, 0
                          keybd_event 78, 0, 2, 0
                          keybd_event 17, 0, 2, 0
                          FindCont = 0
                          SetDataW FormID, Str(Pzs), "TSpinEdit", 1
                          DataP = 0
                          DataPcount = Pzs + 2
                          End Sub
                          Private Sub DataNext()
                          Pzs = Pzs + 1
                          FormID = GetForegroundWindow()
                          FindCont = 0
                          If Pzs = 1 Then SetDataW FormID, " ", "TComboBox", 1
                          If Pzs = 2 Then SetDataW FormID, " ", "TComboBox", 1
                          keybd_event 17, 0, 0, 0
                          keybd_event 78, 0, 0, 0
                          keybd_event 78, 0, 2, 0
                          keybd_event 17, 0, 2, 0
                          FindCont = 0
                          SetDataW FormID, Str(Pzs), "TSpinEdit", 1
                          DataP = 0
                          DataPcount = Pzs + 2
                          If Pzs < 3 Then
                          Timer1.Interval = 100
                          End If
                          End Sub
                          Private Sub SetDataM(data As String)
                          For i = 1 To Len(data)
                          KeyDown Asc(Mid(data, i))
                          Next
                          End Sub
                          Private Sub SetGridDataJ(h As Long, l As Long)
                          Dim Wid As Long
                          Pcount = 5
                          If p = 0 Then
                          SetData " " & DataP
                          KeyDown 13
                          End If
                          If p = 1 Then
                          SetData "504"
                          KeyDown 13
                          End If
                          If p = 2 Then
                          KeyDown 13
                          End If
                          If p = 3 Then
                          SetData "001"
                          For i = 1 To 3
                          KeyDown 13
                          Next
                          End If
                          If p = 4 Then
                          SetDataM 1000 * DataP + 1859
                          KeyDown 9
                          End If
                          If p = 5 Then
                          SetDataM 0
                          KeyDown 9
                          End If
                          End Sub
                          Private Sub SetGridDataT(h As Long, l As Long)
                          Pcount = 5
                          If p = 0 Then
                          SetData " " & DataP
                          KeyDown 13
                          End If
                          If p = 1 Then
                          SetData "504"
                          KeyDown 13
                          End If
                          If p = 2 Then
                          KeyDown 13
                          End If
                          If p = 3 Then
                          SetData "001"
                          End If
                          If p = 4 Then
                          SetDataM 0
                          KeyDown 9
                          End If
                          If p = 5 Then
                          SetDataM 1000 * DataP + 1859
                          KeyDown 9
                          End If
                          End Sub
                          Private Sub SetGridDataEnd(h As Long, l As Long)
                          Pcount = 5
                          If p = 0 Then
                          SetData " " & DataP
                          KeyDown 9
                          End If
                          If p = 1 Then
                          SetData "102"
                          KeyDown 9
                          End If
                          If p = 2 Then
                          KeyDown 9
                          End If
                          If p = 3 Then
                          SetData "001"
                          For i = 1 To 6
                          KeyDown 13
                          Next
                          End If
                          If p = 4 Then
                          KeyDown 9
                          End If
                          If p = 5 Then
                          End If
                          End Sub
                          Sub KeyDown(Key As Long)
                          keybd_event Key, 0, 0, 0
                          keybd_event Key, 0, 2, 0
                          End Sub
                          Sub PasteKey()
                          keybd_event 17, 0, 0, 0
                          keybd_event 86, 0, 0, 0
                          keybd_event 86, 0, 2, 0
                          keybd_event 17, 0, 2, 0
                          End Sub
                          Sub DataSave()
                          keybd_event 17, 0, 0, 0
                          keybd_event 83, 0, 0, 0
                          keybd_event 83, 0, 2, 0
                          keybd_event 17, 0, 2, 0
                          End Sub


                          IP属地:广西14楼2016-03-22 17:42
                          收起回复
                            看到这里,楼主是认真的,支持一下


                            IP属地:北京来自iPhone客户端15楼2016-03-25 14:07
                            回复
                              我也来顶🔝


                              来自iPhone客户端16楼2016-03-29 00:00
                              回复