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

📄 callhedgestatistics.java

📁 金融资产定价,随机过程,MONTE CARLO 模拟 JAVA 程序和文档资料
💻 JAVA
📖 第 1 页 / 共 3 页
字号:
        jPanel3.add(jLabel6);        jSlider5.setMaximum(10000);        jSlider5.addMouseMotionListener(new java.awt.event.MouseMotionAdapter() {            public void mouseDragged(java.awt.event.MouseEvent evt) {                jSlider5MouseDragged(evt);            }        });        jPanel3.add(jSlider5);        jSlider6.setMaximum(3000);        jSlider6.addMouseMotionListener(new java.awt.event.MouseMotionAdapter() {            public void mouseDragged(java.awt.event.MouseEvent evt) {                jSlider6MouseDragged(evt);            }        });        jPanel3.add(jSlider6);        jSlider7.setMaximum(50);        jSlider7.addMouseMotionListener(new java.awt.event.MouseMotionAdapter() {            public void mouseDragged(java.awt.event.MouseEvent evt) {                jSlider7MouseDragged(evt);            }        });        jPanel3.add(jSlider7);        jPanel3.add(jLabel7);        jSlider8.setMaximum(500);        jSlider8.addMouseMotionListener(new java.awt.event.MouseMotionAdapter() {            public void mouseDragged(java.awt.event.MouseEvent evt) {                jSlider8MouseDragged(evt);            }        });        jPanel3.add(jSlider8);        jSlider9.setMaximum(2000);        jSlider9.addMouseMotionListener(new java.awt.event.MouseMotionAdapter() {            public void mouseDragged(java.awt.event.MouseEvent evt) {                jSlider9MouseDragged(evt);            }        });        jPanel3.add(jSlider9);        jSlider10.setMaximum(20000);        jSlider10.addMouseMotionListener(new java.awt.event.MouseMotionAdapter() {            public void mouseDragged(java.awt.event.MouseEvent evt) {                jSlider10MouseDragged(evt);            }        });        jPanel3.add(jSlider10);        jPanel3.add(jLabel8);        jSlider11.setMaximum(200);        jSlider11.addMouseMotionListener(new java.awt.event.MouseMotionAdapter() {            public void mouseDragged(java.awt.event.MouseEvent evt) {                jSlider11MouseDragged(evt);            }        });        jPanel3.add(jSlider11);        jSlider12.setMaximum(200);        jSlider12.addMouseMotionListener(new java.awt.event.MouseMotionAdapter() {            public void mouseDragged(java.awt.event.MouseEvent evt) {                jSlider12MouseDragged(evt);            }        });        jPanel3.add(jSlider12);        jSlider13.setMaximum(50);        jSlider13.addMouseMotionListener(new java.awt.event.MouseMotionAdapter() {            public void mouseDragged(java.awt.event.MouseEvent evt) {                jSlider13MouseDragged(evt);            }        });        jPanel3.add(jSlider13);        jSlider14.setMaximum(50);        jSlider14.addMouseMotionListener(new java.awt.event.MouseMotionAdapter() {            public void mouseDragged(java.awt.event.MouseEvent evt) {                jSlider14MouseDragged(evt);            }        });        jPanel3.add(jSlider14);        jPanel3.add(jLabel9);        jButton1.setText("go");        jButton1.addMouseListener(new java.awt.event.MouseAdapter() {            public void mouseClicked(java.awt.event.MouseEvent evt) {                jButton1MouseClicked(evt);            }        });        jPanel3.add(jButton1);        jSplitPane2.setRightComponent(jPanel3);        jPanel1.add(jSplitPane2, "card2");        jPanel4.setLayout(new java.awt.BorderLayout());        jProgressBar1.setPreferredSize(new java.awt.Dimension(148, 20));        jProgressBar1.setDoubleBuffered(true);        jProgressBar1.setStringPainted(true);        jPanel4.add(jProgressBar1, java.awt.BorderLayout.NORTH);        jTextField15.setEditable(false);        jTextField15.addActionListener(new java.awt.event.ActionListener() {            public void actionPerformed(java.awt.event.ActionEvent evt) {                jTextField15ActionPerformed(evt);            }        });        jPanel4.add(jTextField15, java.awt.BorderLayout.SOUTH);        jTextArea2.setEditable(false);        jTextArea2.setBackground((java.awt.Color) javax.swing.UIManager.getDefaults().get("textHighlight"));        jScrollPane2.setViewportView(jTextArea2);        jPanel4.add(jScrollPane2, java.awt.BorderLayout.CENTER);        jButton2.setText("OK");        jButton2.addMouseListener(new java.awt.event.MouseAdapter() {            public void mouseClicked(java.awt.event.MouseEvent evt) {                jButton2MouseClicked(evt);            }        });        jPanel4.add(jButton2, java.awt.BorderLayout.EAST);        jPanel1.add(jPanel4, "card3");        jSplitPane1.setRightComponent(jPanel1);        getContentPane().add(jSplitPane1);        pack();    }//GEN-END:initComponents    private void jTextField15ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jTextField15ActionPerformed        // Add your handling code here:    }//GEN-LAST:event_jTextField15ActionPerformed    private void jCheckBox3MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jCheckBox3MouseClicked        quotient_deltas=true;    }//GEN-LAST:event_jCheckBox3MouseClicked    private void jButton2MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jButton2MouseClicked        CardLayout card=(CardLayout)jPanel1.getLayout();        card.next(jSplitPane2.getParent());    }//GEN-LAST:event_jButton2MouseClicked    private void jCheckBox2MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jCheckBox2MouseClicked        monte_carlo_deltas=true;    }//GEN-LAST:event_jCheckBox2MouseClicked    private void jCheckBox1MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jCheckBox1MouseClicked        minimum_variance_deltas=true;    }//GEN-LAST:event_jCheckBox1MouseClicked    private void jButton1MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jButton1MouseClicked                mainComputation();  //see bottom    }//GEN-LAST:event_jButton1MouseClicked    private void jSlider10MouseDragged(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jSlider10MouseDragged        nBranch=jSlider10.getValue();        jTextField10.setText("Number of branches per path = "+nBranch);    }//GEN-LAST:event_jSlider10MouseDragged    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        r=(double)jSlider7.getValue()/100;        jTextField7.setText("Risk free rate = "+r);     }//GEN-LAST:event_jSlider7MouseDragged    private void jSlider6MouseDragged(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jSlider6MouseDragged        Tc=(double)jSlider6.getValue()/1000;        T=(int)Math.round(Tc/dt);        jTextField6.setText("Time to expiration (years) = "+Tc);     }//GEN-LAST:event_jSlider6MouseDragged    private void jSlider5MouseDragged(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jSlider5MouseDragged        K=1.0*jSlider5.getValue()/100;        jTextField5.setText("Strike = "+K);    }//GEN-LAST:event_jSlider5MouseDragged    private void jSlider4MouseDragged(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jSlider4MouseDragged        q=(double)jSlider4.getValue()/100;        jTextField4.setText("Dividend yield = "+q);     }//GEN-LAST:event_jSlider4MouseDragged    private void jSlider3MouseDragged(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jSlider3MouseDragged         sigma=(double)jSlider3.getValue()/100;        jTextField3.setText("Volatility = "+sigma);     }//GEN-LAST:event_jSlider3MouseDragged    private void jSlider2MouseDragged(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jSlider2MouseDragged         mu=(double)jSlider2.getValue()/100;        jTextField2.setText("Market drift = "+mu);     }//GEN-LAST:event_jSlider2MouseDragged    private void jSlider1MouseDragged(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jSlider1MouseDragged        S_0=(double)jSlider1.getValue()/100;        jTextField1.setText("S(0) = "+S_0);     }//GEN-LAST:event_jSlider1MouseDragged    private void jSlider14MouseDragged(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jSlider14MouseDragged                triggerPercent=jSlider14.getValue();        jTextField14.setText        ("% price change triggering hedge trade = "+triggerPercent);    }//GEN-LAST:event_jSlider14MouseDragged    private void jSlider13MouseDragged(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jSlider13MouseDragged                nHedgeTrades=jSlider13.getValue();        jTextField13.setText        ("Number hedge trades (periodic hedge) = "+nHedgeTrades);    }//GEN-LAST:event_jSlider13MouseDragged    private void jSlider11MouseDragged(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jSlider11MouseDragged                fixed_trc=1.0*jSlider11.getValue()/1000;        jTextField11.setText("Fixed transaction cost = "+fixed_trc);    }//GEN-LAST:event_jSlider11MouseDragged    private void jSlider12MouseDragged(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jSlider12MouseDragged                prop_trc=1.0*jSlider12.getValue()/1000;        jTextField12.setText("Proportional transaction cost = "+prop_trc);    }//GEN-LAST:event_jSlider12MouseDragged                     /** Exit the Application */    private void exitForm(java.awt.event.WindowEvent evt) {//GEN-FIRST:event_exitForm        System.exit(0);    }//GEN-LAST:event_exitForm    /**    * Initialize defaults, show main window    */    public static void main(String args[]) {                       //set defaults in case user does not choose        T=30;        dt=0.02;        Tc=T*dt;        nPaths=500;        nBranch=5000;        nHedgeTrades=12;        triggerPercent=5;               S_0=50;        mu=0.24;        sigma=0.41;        q=0.04;        r=0.07;                K=55;                         minimum_variance_deltas=false;        monte_carlo_deltas=false;        quotient_deltas=false;                       CallHedgeStatistics        mainWindow=new CallHedgeStatistics();                        mainWindow.jCheckBox1.setSelected(false); //minimum variance deltas: no        mainWindow.jCheckBox2.setSelected(false); //monte carlo deltas: no        mainWindow.jCheckBox3.setSelected(false); //quotient deltas: no                mainWindow.jTextField14.setText        ("% price change triggering hedge trade = "+triggerPercent);        mainWindow.jTextField13.setText        ("Number hedge trades (periodic hedge) = "+nHedgeTrades);        mainWindow.jTextField12.setText                                ("proportional transaction cost="+prop_trc);        mainWindow.jTextField11.setText                                ("Fixed transaction cost = "+fixed_trc);        mainWindow.jTextField10.setText                                ("Number of branches per path = "+nBranch);        mainWindow.jTextField9.setText("Number of paths ="+nPaths);         mainWindow.jTextField8.setText("Time step (years) ="+dt);         mainWindow.jTextField4.setText("Dividend yield ="+q);         mainWindow.jTextField3.setText("Volatility ="+sigma);         mainWindow.jTextField2.setText("Market drift ="+mu);         mainWindow.jTextField1.setText("S(0) ="+S_0); 

⌨️ 快捷键说明

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