⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 drawchgraphs_2.java

📁 金融资产定价,随机过程,MONTE CARLO 模拟 JAVA 程序和文档资料
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
        });        jPanel2.add(jSlider1);        jSlider10.setMaximum(200);        jSlider10.addMouseMotionListener(new java.awt.event.MouseMotionAdapter() {            public void mouseDragged(java.awt.event.MouseEvent evt) {                jSlider10MouseDragged(evt);            }        });        jPanel2.add(jSlider10);        jSlider12.setMaximum(400);        jSlider12.addMouseMotionListener(new java.awt.event.MouseMotionAdapter() {            public void mouseDragged(java.awt.event.MouseEvent evt) {                jSlider12MouseDragged(evt);            }        });        jPanel2.add(jSlider12);        jButton1.setText("go");        jButton1.addMouseListener(new java.awt.event.MouseAdapter() {            public void mouseClicked(java.awt.event.MouseEvent evt) {                jButton1MouseClicked(evt);            }        });        jPanel2.add(jButton1);        jSlider9.setMaximum(50000);        jSlider9.addMouseMotionListener(new java.awt.event.MouseMotionAdapter() {            public void mouseDragged(java.awt.event.MouseEvent evt) {                jSlider9MouseDragged(evt);            }        });        jPanel2.add(jSlider9);        jProgressBar1.setBackground(new java.awt.Color(204, 204, 255));        jProgressBar1.setForeground(new java.awt.Color(204, 255, 102));        jProgressBar1.setBorder(new javax.swing.border.EtchedBorder(null, java.awt.Color.lightGray));        jPanel2.add(jProgressBar1);        jSplitPane1.setRightComponent(jPanel2);        getContentPane().add(jSplitPane1);        pack();    }//GEN-END:initComponents    private void jSlider12MouseDragged(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jSlider12MouseDragged                prop_trc=1.0*jSlider12.getValue()/1000;        jTextField13.setText("Proportional transaction cost = "+prop_trc);    }//GEN-LAST:event_jSlider12MouseDragged    private void jSlider10MouseDragged(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jSlider10MouseDragged                fixed_trc=1.0*jSlider10.getValue()/1000;        jTextField11.setText("Fixed transaction cost = "+fixed_trc);    }//GEN-LAST:event_jSlider10MouseDragged    private void jSlider14MouseDragged(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jSlider14MouseDragged                vol_max=1.0*jSlider14.getValue()/100;        jTextField15.setText("Maximum hedge volatility ="+vol_max);            }//GEN-LAST:event_jSlider14MouseDragged    private void jSlider13MouseDragged(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jSlider13MouseDragged                vol_min=1.0*jSlider13.getValue()/100;        jTextField14.setText("Minimum hedge volatility ="+vol_min);            }//GEN-LAST:event_jSlider13MouseDragged    private void jSlider11MouseDragged(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jSlider11MouseDragged                K=1.0*jSlider11.getValue()/100;        jTextField1.setText("Strike = "+K);    }//GEN-LAST:event_jSlider11MouseDragged    private void jSlider1MouseDragged(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jSlider1MouseDragged                nPoints=jSlider1.getValue();        jTextField12.setText("Number of volatilities="+nPoints);    }//GEN-LAST:event_jSlider1MouseDragged    //SET OFF MAIN COMPUTATION:    private void jButton1MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jButton1MouseClicked                   try{ mainComputation(); }        catch(java.io.FileNotFoundException e){}        catch(java.io.IOException e){}           }//GEN-LAST:event_jButton1MouseClicked    private void jSlider9MouseDragged(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jSlider9MouseDragged                nPaths=jSlider9.getValue();        jTextField9.setText("Number of paths ="+nPaths);     }//GEN-LAST:event_jSlider9MouseDragged    private void jSlider8MouseDragged(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jSlider8MouseDragged                               dt=(double)jSlider8.getValue()/1000;        T=(int)Math.round(Tc/dt);        jTextField8.setText("Rehedge interval (years) ="+dt);     }//GEN-LAST:event_jSlider8MouseDragged    private void jSlider7MouseDragged(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jSlider7MouseDragged                               q=(double)jSlider7.getValue()/100;        jTextField7.setText("Dividend yield ="+q);     }//GEN-LAST:event_jSlider7MouseDragged    private void jSlider6MouseDragged(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jSlider6MouseDragged                               sigma=(double)jSlider6.getValue()/100;        jTextField6.setText("True volatility ="+sigma);     }//GEN-LAST:event_jSlider6MouseDragged    private void jSlider5MouseDragged(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jSlider5MouseDragged                               mu=(double)jSlider5.getValue()/100;        jTextField5.setText("Market drift ="+mu);     }//GEN-LAST:event_jSlider5MouseDragged    private void jSlider4MouseDragged(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jSlider4MouseDragged                       S_0=(double)jSlider4.getValue()/100;        jTextField4.setText("S(0) ="+S_0);     }//GEN-LAST:event_jSlider4MouseDragged    private void jSlider3MouseDragged(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jSlider3MouseDragged                       r=(double)jSlider3.getValue()/100;        jTextField3.setText("Risk free rate ="+r);     }//GEN-LAST:event_jSlider3MouseDragged    private void jSlider2MouseDragged(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jSlider2MouseDragged                       Tc=(double)jSlider2.getValue()/1000;        T=(int)Math.round(Tc/dt);        jTextField2.setText("Time to expiration (years) = "+Tc);     }//GEN-LAST:event_jSlider2MouseDragged    /** Exit the Application */    private void exitForm(java.awt.event.WindowEvent evt) {//GEN-FIRST:event_exitForm        System.exit(0);    }//GEN-LAST:event_exitForm                      /**    * @param args the command line arguments    */    public static void main(String args[]) {                        //set defaults in case user does not choose        T=12;        nPaths=50000;        nPoints=48;        nBranch=10000;  //irrelevant but needed for constructor               S_0=50;        mu=0.3;        sigma=0.4;        q=0.0;        r=0.05;                K=50;        vol_min=0.1;        vol_max=1.2;        dt=0.05;        Tc=1.0*Math.round(10*T*dt)/10;        fixed_trc=0.0;        prop_trc=0.0;                                DrawCHGraphs_2 mainWindow=new DrawCHGraphs_2();                mainWindow.jTextField13.setText        ("Proportional transaction cost = "+prop_trc);        mainWindow.jTextField11.setText("Fixed transaction cost = "+fixed_trc);        mainWindow.jTextField12.setText("Number of volatilities = "+nPoints);        mainWindow.jTextField1.setText("Strike ="+K);        mainWindow.jTextField15.setText("Maximum volatility ="+vol_max);        mainWindow.jTextField14.setText("Minimum volatility ="+vol_min);        mainWindow.jTextField9.setText("Number of paths ="+nPaths);         mainWindow.jTextField8.setText("Rehedge interval (years) ="+dt);         mainWindow.jTextField7.setText("Dividend yield ="+q);         mainWindow.jTextField6.setText("True volatility ="+sigma);         mainWindow.jTextField5.setText("Market drift ="+mu);         mainWindow.jTextField4.setText("S(0) ="+S_0);         mainWindow.jTextField3.setText("Risk free rate ="+r);         mainWindow.jTextField2.setText("Time to expiration (years) = "+Tc);                 mainWindow.setTitle        ("Call-Hedge statistics as function of hedge volatility");        mainWindow.setBounds(5,50,670,500);        mainWindow.show();                    }//end main    // Variables declaration - do not modify//GEN-BEGIN:variables    private javax.swing.JPanel jPanel2;    private javax.swing.JPanel jPanel1;    private javax.swing.JButton jButton1;    private javax.swing.JSlider jSlider9;    private javax.swing.JSlider jSlider8;    private javax.swing.JSlider jSlider7;    private javax.swing.JSlider jSlider6;    private javax.swing.JSlider jSlider5;    private javax.swing.JSlider jSlider4;    private javax.swing.JSlider jSlider3;    private javax.swing.JSlider jSlider2;    private javax.swing.JTextField jTextField15;    private javax.swing.JSlider jSlider1;    private javax.swing.JTextField jTextField14;    private javax.swing.JTextField jTextField13;    private javax.swing.JTextField jTextField12;    private javax.swing.JTextField jTextField11;    private javax.swing.JTextField jTextField10;    private javax.swing.JSplitPane jSplitPane1;    private javax.swing.JTextField jTextField9;    private javax.swing.JProgressBar jProgressBar1;    private javax.swing.JTextField jTextField8;    private javax.swing.JTextField jTextField7;    private javax.swing.JTextField jTextField6;    private javax.swing.JTextField jTextField5;    private javax.swing.JTextField jTextField4;    private javax.swing.JTextField jTextField3;    private javax.swing.JTextField jTextField2;    private javax.swing.JSlider jSlider14;    private javax.swing.JTextField jTextField1;    private javax.swing.JSlider jSlider13;    private javax.swing.JLabel jLabel7;    private javax.swing.JSlider jSlider12;    private javax.swing.JLabel jLabel6;    private javax.swing.JSlider jSlider11;    private javax.swing.JLabel jLabel5;    private javax.swing.JSlider jSlider10;    private javax.swing.JLabel jLabel4;    private javax.swing.JLabel jLabel10;    private javax.swing.JLabel jLabel3;    private javax.swing.JLabel jLabel2;    private javax.swing.JLabel jLabel1;    // End of variables declaration//GEN-END:variables        static int T,               nPaths,               nPoints,               nBranch,               nSignChange,               reportFrequency;                      static double S_0,                  Tc,                  dt,                  r,                  q,                  mu,                  sigma,                  K,                  vol_min,                  vol_max,                  fixed_trc,                  prop_trc;            static ConstantVolatilityAsset asset;    static CallHedgeStatisticsGraphs stats;            public void mainComputation()    throws java.io.FileNotFoundException, java.io.IOException    {        nSignChange=10;  //irrelevant but needed for asset constructor        reportFrequency=2000;                ConstantVolatilityAsset         asset=new ConstantVolatilityAsset(T,dt,nSignChange,S_0,r,q,mu,sigma);               CallHedgeStatisticsGraphs        stats=new CallHedgeStatisticsGraphs                  (asset,nPaths,nBranch,nPoints,jProgressBar1,reportFrequency);          stats.graphFunctionOfHedgeVolatility              (K,vol_min,vol_max,fixed_trc,prop_trc);                } //end mainComputation            } //end DrawCHGraphs_2

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -