|
|
改了一下,这次运算应该没啥问题了
0 \% r( j% [( P* U. o# X9 d; M- E8 h# m: Z5 s# O9 A% [
7 Q# ?( Q$ g* X" I% A) t; M
capture program drop hello, K5 ?# k [$ K" N2 q7 a, M8 X# a" {3 C
) Z1 P# h* `9 _6 B! D& d* x) pprogram hello
, [- ~) p/ q: W1 ]; k
, _( R7 K. t! D% N) @, k* ^( |/ r quietly {
: x6 c* L( y9 _" _& H4 i0 j: O' ^. Z# b- \9 i+ L+ S# b( f4 f$ C
clear
4 |% O6 ?9 f8 o
8 H ~; `( f5 m& E9 e+ z6 q/ Fcd e:\finance\stock\20110101\source8 _8 S. {" I4 ]* K1 \
0 f9 g! r; e. @& ]+ B6 Z9 |insheet using `1'.txt6 _; G+ _* q y6 v4 f
4 J; _3 b H& F( o: [ keep if v5>0
! g3 m( k) n N0 r# z! F6 ^$ u" {2 r f+ Z
, N% ~9 N7 M/ X6 W4 g gen vt=_n
- m# D1 Z; g6 \1 P3 d7 C2 A+ w& K
' |6 E- I! S: _' z2 i6 u* h5 h! \ tsset vt2 Y$ p- s* }+ E T) c% b8 b t
$ R# e2 r* K+ H
gen zf=D1.v5
; g1 W5 @. c! g) r* q3 D
- g' |0 } F; k gsort -v18 E B8 V7 k) s$ G+ h& @# G$ ]4 K
; x; u0 j |/ |& a( t: g$ U gen avol=v7/v5% C/ v; {9 x8 J7 D
+ i! z8 m. z3 i9 g( X y
keep if avol>05 g) ~! o; k; f
9 h9 Q! r3 ?; E W
drop vt7 C) Y" f8 P% q/ O
/ {$ n& a7 \# W, O+ e( {+ b
gen vt=_n
4 T4 F% Q2 @# u0 p! m
* d% ?# e9 K6 ?1 j3 D4 j) D tsset vt
5 X9 ]! L9 }6 n( K
8 d/ y5 e0 q% x/ @ sum v5 [aw =avol]
) H4 ~& A: Y6 L1 R1 H
y8 F H8 d/ G2 E9 P gen amean=r(mean) in 1; S3 ]* F# q% ~7 R8 Q+ d' y0 R& L
% L/ k. x: N9 ~: I
* 总加权平均值 amean
7 z7 |9 V8 O5 Z L) ]. i5 z- }+ F% u; \
- k, ?. U i& j- B' A# h 0 C: W- i" g: g* g$ B' [
keep in 1/2400 {( i U3 ?3 Y: M
% h! a$ M' j) X' _2 J% z: a sum v5 [aw =avol]7 m+ k3 y1 |6 k
4 \5 Y6 s3 m1 @2 u3 \' w
gen mean240=r(mean) in 1
& {. l8 K, o0 P# n, L' D 2 j1 a- K6 v5 X: w
*240加权平均值 mean240
& _7 _' C& }" G& f" P# C$ z5 H $ p( v8 A+ O# {5 y1 e" v. |
set obs 500 0 f S! I6 U4 u6 o1 w9 Z
2 H- y' D: o7 s kdensity v5 [aw =avol],gaussian n(500) generate(dx240 dy240) nograph7 y) Z. R1 i! l4 k; y8 X( Z
, R/ ]( M* j8 i! ^* v. w
*240 kdensity(dx240 dy240)
B% b n1 H) {* n6 c 5 w" |( n. d* T9 y' I: p9 U) f6 c8 F. I
sum dy240
& R5 H& }) ]/ d4 | - v3 B% k5 H* g
gen yxis=r(max) in 1) ?# _; u: q7 K9 Z
0 \+ I6 L7 T( P0 [3 `% `2 k/ n
gen yxis2=yxis/2+ v! `# F, |$ Y, r( I! e
) r( d: w4 e2 Z; Y; `
*yxis! h. F0 Y7 r9 s% W% b$ a
# s3 ^$ F# z! E& M gen dy240max=r(max)8 m3 H7 [% R( ]. N
: w1 l! K1 B( z0 ^* Y
gen dy240minp=r(min)
3 F8 F1 O5 {! ]& V9 R; Y* Y
0 J/ c6 k2 f; [3 J* M gen vtt=_n
1 Z0 C+ n5 n! C$ O- m8 \+ v& q
v* R* O% {9 I3 M7 b8 V7 x tsset vtt
1 V- F2 f W- r1 W* T- c! f. c+ X) u! ~1 I: b- h# \
gen ddy240=D1.dy240/D1.dx240
, a( t! o' }: c0 q0 E' X - R5 _0 r7 @3 @$ Y
sum ddy240, b) }. ]4 ]" F% e) Y0 P, |
5 P. i3 l# _* `$ O8 \1 o6 Y gen ddy240max=r(max)0 }8 W0 s: U( v4 b8 a8 _. g0 V* J
- [' }. _( |, I+ I# v+ f gen ddy240min=r(min)# i$ E0 G; X, E! v" a, v3 {
- v9 ~( J3 y' \* s/ w; h7 _
gen ddy240g=ddy240*(dy240max-dy240min)/(ddy240max-ddy240min)
3 X9 T, \$ p7 N+ r2 z
. f; S, P% `5 U$ [# B sum ddy240g+ E0 X2 \1 g+ @7 E0 q
0 z! J- Z0 m8 e* k4 C' }3 \ gen yxis3=r(min) in 1
" e# G, a. e, ]$ X6 W, W ; D/ Z4 B0 [0 c+ t8 M( F9 T( y5 c p
gen yxis4=0 in 1) ?9 C1 L5 }$ B
# z" ?5 {* a; d+ V9 H" h5 H2 D
*ddy240g
4 i( `/ T2 j% s3 n4 `! t
& a2 w" }; X5 @: T, F7 R- A & b; f! l% L" G- ^& J
preserve
: {/ Y3 m$ k3 h) D : Z9 W/ k8 g% i6 C, I- X; y2 ~
sum v5 [aw =avol]* i; ^2 a+ u: J! v
) o3 A( B" ^* ]0 _4 ^ \4 n
keep if dx240<r(mean)
4 i# `+ u- E% R' q; X9 Y' o9 ?( E( m
' X- ~8 H6 n6 t sum ddy240/ h2 |$ V7 C4 Y1 J5 I2 o
5 N% z- A# x7 v+ Z
if r(min)<0 {
' H6 o5 {, ]/ w% F; i $ Q8 X {# b) E' t1 C% S1 n6 a
keep if ddy240<=0
$ c! M. I8 y: ^+ C3 ?9 [( C# t
' F# Z- o/ j9 p: Y) I* Q: C count9 a5 V2 w+ x C$ b5 m
/ ]$ t$ p. m' i$ m% K3 d7 m: G
if r(N)>2 {) o- T7 ^5 q3 H1 H- F# N$ Z
* X, I9 T6 h3 g' [" S( T. t pkexamine dx240 dy240* F3 b8 D3 J$ f6 }
) J0 x p" L2 Q6 m, t+ n: C local tempminp=r(tomc). ^5 A7 |+ Z9 C& |* Q X
restore 0 f: R, l$ o1 E0 |
}/ M- M. G7 Z* t
( {. _- z& U# s. V! o/ `
else {
. z; [- L, G0 m0 v# z ; j. I: O; f; K9 Y2 s' f5 V
di "cannot find minp") {% _1 ~% y2 m7 c
* `7 J/ d7 K7 m. I3 I$ B restore
% h6 m4 H5 s6 Q/ r sum dx2400 W7 V1 ]7 j2 f" \1 d7 B2 z# x
local tempminp=r(mean)3 ^, D+ P' \$ P& T+ j# I
% L C+ k$ D! Z7 a, Q
}
0 o3 a: m* ^0 V2 A }
6 k# C$ N8 k' ~, O; M9 Z9 Z. O) { else { z. n5 }- [; l- K' G4 q1 Z7 v% @
6 |" F' g, U, R- W+ x
keep if ddy240<=r(min)9 w5 v3 I- H3 r+ g5 T
- `: n1 e4 M) | n sum dx240
9 V7 h# t/ r$ f( Q- Q, l X+ @ 7 j, q7 Z- o; S; T1 ]. ]
local tempminp=r(min), c4 c- G, o9 {( c: h
restore . b9 R) t& e2 t1 Z* g- K& Y
}
- T) r, J5 ?4 W& U5 R8 W
9 W9 u+ ~6 }( W" ~
' X' i h9 D# K/ i
: h3 g% J9 J1 z" m) [" @ gen minp=`tempminp' in 1
$ x8 N7 l, @( z: a0 @4 q7 g *240 minp; Z( h& z# ]6 i9 V! y0 b0 ]* h/ @
& @9 o9 K/ z$ u. O- ^" F: K( J$ v" Z) {. E
* l# |% {3 E0 b+ c' x# D
preserve
6 i, m. k% ^/ l- f
5 L2 {# R, L& d* j ?' K: s sum v5 [aw =avol]
0 k ?; h" [4 w; Z
{0 F2 M; @/ r6 r( @) L keep if dx240>r(mean)
- B! K/ v" O6 f0 z+ v
' B! R2 y5 W; D5 m0 s sum ddy2405 k# U4 V2 \6 p- D( S" m' G. J. K
+ @ ]+ c. g S$ h" u if r(max)>0 {
2 B. M/ O' g) ?/ \/ ~
2 C) _, G5 Q) u, O1 W7 g1 E' L keep if ddy240>=0- {# R, u) d) X4 @8 t
6 _: y# n; v9 S+ {: O! j
count
, {. O: o6 d* _# {6 ]0 { P, r7 ?
! ?" M1 V' k5 i4 V, W if r(N)>2 {
' ?7 E+ q4 Y7 A" |, e+ }' L
8 L L% J/ s' \$ w7 n pkexamine dx240 dy240
. R V9 @$ a5 p% S4 ^0 F
9 W9 T6 Q, A4 U3 _; d local tempmaxp=r(tomc)
) N9 G, H4 K' F6 q4 o& K0 x5 K restore
3 [1 @. p y' v. o u2 U }
) F4 T1 M$ |/ [1 z# O8 z
6 @$ ?' e+ P1 F
5 E! Q) [6 M& q/ Q2 d5 P else {
* v, [1 I: U( m$ ]" q; D" D% @ restore ' T( z Y8 o" W5 d$ r8 G, ?$ u
di "cannot find maxp"4 U) S+ F/ t1 x/ i
! f* }8 P5 q8 b2 `7 s ! w f# y8 S, A' d$ m: V
sum dx240* b7 M2 y* j: M# T6 S9 e
local tempmaxp=r(mean)
- _2 a9 I, b; Z: g5 f" m" I
) Q6 ^# [. F) M, g, t }
6 W y7 U) S1 a8 w8 |# ~7 A : M; A: y5 U0 w
}
0 T& w+ E2 w# N/ G% s ; d0 N6 d P7 E' a* @( n
else {
/ g d/ p, `8 C) h0 j
9 \5 }0 C' G7 i. ~: C keep if ddy240>=r(max)
& h+ ~" }1 H5 J3 |2 C/ [ _ V2 C5 @+ e2 b; h3 `1 B
sum dx240
$ C+ O- J1 c& i; D& _1 m0 ? 7 o0 x' z. H9 A# T/ o4 g* J5 O5 _
local tempmaxp=r(max) % @% F1 u& U1 P. U) M( w, J
restore 1 R! C d& e8 j. I. C
}$ K5 d. ~/ H& d& M9 ]$ C) I% K
" J! t. K4 w( j+ R. E
+ ]; b1 A6 T! s& N0 |5 `
* q& [* n8 t" x# |1 L6 M2 C/ g z7 A1 h+ S) G9 A: s; C
gen maxp=`tempmaxp' in 15 e" B" `" }) J
4 L. P. o$ d8 R! z
*240maxp
6 j% y3 M) k _' n. k
! r' i* R5 b. Y/ O , T @) M0 X K) E% n
*-------------ddy240pminp左侧高峰值-----( u3 X( b4 A8 ~
* n- k, m$ z& J. ^- F8 ^/ ^ preserve 7 Q. g) P1 N W# ?' R2 q
3 F' a, b! P# r/ L2 h" i2 m( U keep if dx240<`tempminp'8 N9 c# \8 K/ g& S4 l
6 h; h5 f+ v2 F N, [2 S1 w% I
keep if ddy240>02 H( k1 a1 m; X2 m+ Y: x ?6 f8 u
8 R j+ L. l8 B+ r5 L! v count
4 E9 E/ Q4 ?7 A, i# c
1 ^. ]/ o- O5 j. t if r(N)>2 {" p" E6 w, j0 M! i3 O
4 N- K. p" F3 B# z: b! X9 m6 u pkexamine dx240 ddy2403 i" w) O& i) z6 K% X
/ y( Y' g) b5 Y# k+ j2 c! f0 R local tempminphddy240=r(tomc) ; Y4 Z9 h. N9 K4 Q
restore6 g7 ^% L8 n2 R2 u
}( ^: S, z4 _% y9 v4 \' @+ D
7 ?3 \, M& H/ x( N else {& y) c0 t+ \# F
restore
# P! v. C/ J, ~/ a# u: Y! C di "cannot find pminphddy240"
& _, b; T S8 [- U
! Y2 U; h* b1 A5 l* V( S+ v5 b& ~
& O$ y8 }) ~; p6 S, v7 L sum dx240
0 F* ^4 |) ~* A local tempminphddy240=r(mean) 5 B/ `' _ p9 g" S, j
: u& r* X5 I. }% _0 h9 d7 Y9 ~
" D3 \3 z# I; d% g( s
}
4 X3 ^2 g* w* t, B, ]9 Q5 M $ p7 V1 p& B/ x: N0 I
: u- e9 `- k. ^ B( B+ d
* O* a5 k: B& k, o# C, i3 u
, x7 [' p f/ |0 Y- M
' {$ I4 }& s) ~* u- J: D; n- J . ?" l0 J7 r) v$ n! Q0 U$ @
gen pminphddy240=`tempminphddy240' in 1
) Y* U* l- k3 N: W" X5 i
P' m4 D l8 l7 b' d
3 f1 K/ p5 {( K8 m' P2 d" y4 ] *-------------ddy240pminp右侧低峰值 -----------------
: r0 a, k- t& S+ A/ W$ V preserve
4 I. d# b% m) J0 j( |! X
3 L( u* ^' H4 w9 l& o6 m keep if dx240>`tempminp', {! i! L( y0 {( m0 {1 f: E
% C# O) ?% q0 [6 o- g u# |0 V keep if dx240<`tempmaxp'
' q1 E T4 [/ F; t* ]$ P 6 X, r1 x6 a3 ^9 }$ s
keep if ddy240<0( [6 q) I! h: V8 u1 B% Q& c1 D
1 Y$ q2 x- n: d+ U" U gen temddy240=-ddy2403 h4 D. h# c' d
& b8 Z$ z5 d" {0 Y5 U( Q1 y
count( |0 d/ e+ ]3 q, o
3 w3 n1 s) d& M, p' R0 l' ]
if r(N)>2 {
+ }; }7 ~; [ R 8 H# W4 F$ j3 @: f# r! p& ^6 D
pkexamine dx240 temddy240
2 j6 m% u3 B9 ?6 u 2 Y V& K* h! F& F9 P0 R P) }
local tempminplddy240=r(tomc)
" E- J' r! i0 t( } restore8 A5 K2 k- m2 `7 {' c! r
}0 |% }3 O# e7 b. ^/ R! ~' M* ^
8 x$ _6 x, J$ M
else {$ k0 @; p3 ~% }( c( P( E+ _
1 q# K8 H: g5 c5 g/ l6 _
di "cannot find pminplddy240"* J3 a, C* e( g* z4 z6 `% N
restore0 \2 l- J( y+ ^' w& a, q. o5 U8 a
w3 M3 y$ E8 s l- s
sum dx240" ]- m# c( D: X' i5 j
local tempminplddy240=r(mean)
) m7 X2 i7 h* M6 P/ @ + ]8 f$ X8 L7 u) [
' K' m2 g; a5 Q9 Z$ D
}9 M- z+ c/ j4 t# w" E2 C
! c7 j" v/ N2 {$ ]' f
1 I. X& P9 z- l0 O
+ U1 d$ n ~, I% G 7 }8 n* c1 Q, o$ ?. x
: Z/ M1 t# w( z+ w) f
gen pminplddy240=`tempminplddy240' in 1- K; A3 @' q8 Y6 o" |2 t
5 ^" D, ]% g9 L0 @8 F4 b2 n" ^ *-------------ddy240pmaxp左侧高峰值 -------------------
. W1 N( C/ ]' V8 h6 V( w % {/ L% X* P6 G/ y( Y
preserve
0 j. T( f. j# P6 T( O2 B! d 1 o/ R" Z2 i8 H/ L
keep if dx240>`tempminp'
% y% Y7 e" Z& C ) r4 I# [1 ^& s$ j" u4 s4 t
keep if dx240<`tempmaxp'
0 D. ?; m) ?5 p0 U9 C7 x ; @6 P; I. H n7 x6 u9 \. n; x3 R
keep if ddy240>0' v" o! ~- D8 ]7 v
count
7 l( ` N' T0 a; M6 w( ]+ y; K
0 J# K- u& i0 q( @% i0 U5 T if r(N)>2 {5 ^6 \4 v$ O3 n. {5 Z9 T
6 m" f- F/ v4 V9 j0 a pkexamine dx240 ddy240; s/ G6 h6 O9 B# G; e
% [0 A6 g1 `; B2 v* H
local tempmaxphddy240=r(tomc) # j& P. W; V# e3 N) [
3 I5 Z, r" l" e9 K% U
restore& C6 u0 M4 V# R- V' k4 l/ b* T" ]
}
* C: j9 H: ~( v
# u' h C& z5 m L; m3 P7 Q else {
# @. K# S2 `0 p; S
( w: _5 Z9 C; | di "cannot find pmaxphddy240"
+ y5 ^8 M/ u1 u! f$ O restore% T; |: r- z7 V. z
) l! B( |6 @2 }5 R1 U$ j sum dx2405 k4 Q( v" y; U
local tempmaxphddy240=r(mean) ' {9 l) G p! \4 p
! ~! c! V: D, j; r$ f
6 ]. K4 a( w! [6 R5 y1 C3 d
}/ V% w3 f9 J0 ~+ t4 g+ L
# R3 ~# e6 e! E2 ~' c6 f# {
' j; I$ F, c% M4 `5 U
) ]3 G; l, C4 U# P* @: g : U. s9 L/ S" K& Q) X( j: X7 _
1 y& x8 t0 `+ I2 C; d! k
/ d$ `6 Q* L. o6 G" _2 n gen pmaxphddy240=`tempmaxphddy240' in 1
0 T: ]' ~# @3 R, P/ @ ) M1 J& C) y8 z$ H5 u9 {( o2 b
9 I/ x: W/ {; K" M& ^6 f, R
*-------------ddy240pmaxp右侧低峰值 -------------------
1 D9 a1 P& `& M7 ^3 T
, I9 G! A" k% Q; Z4 w. r9 ] preserve 3 h4 N1 U0 P% W( B3 p
9 E: e/ n% K/ p2 X% |' t9 f
keep if dx240>`tempmaxp'
4 Y/ t9 j u$ {3 z3 }% p1 y' A
0 w0 N5 g+ U& z' ?* \$ b+ n gen temddy240=-ddy240
. u; Z# `* d" j/ s / x3 `" f9 |* \$ ?# \" ?3 O
keep if temddy240>0
+ D! y, L' s7 h" F 5 u. C& h- t, _7 M
count/ w! A' j: F% T1 x. A+ x
. y# ^+ v# Y: F9 v. Z+ p: E0 w if r(N)>2 {
z& b# o1 N. v 2 e c4 y$ b! I t' O; C
pkexamine dx240 temddy240
* @* k' B# {- T* v5 M2 w0 g& ~ ; Z8 e+ u1 e, @$ S# B: _
local tempmaxplddy240=r(tomc) ) c) v) b6 B) b: N
restore
0 U$ s4 ]; a/ E$ F6 K8 j6 ~( @ } i$ T+ I5 V& v% f$ ~
, K5 o+ h4 e/ i( l7 ?
else {
+ Z9 f1 b r' P3 N! u restore; m- G9 C9 j- q5 I' q4 ~
di "cannot find pmaxlhddy240") X d: D) S8 L2 K1 O, O
x; Y3 @4 L9 A6 F7 O# E
0 T$ x) w% { V: m sum dx2404 g- K- [2 `, B
local tempmaxplddy240=r(mean) in 1/ ?3 a5 u! U! F S
* q j1 G3 E- r2 J3 I
6 {! @- u) K- D
}3 ?; P$ `5 q8 h: i9 B5 l
: |% a1 V$ n% |/ o8 ~' ^" X
4 Q! c8 m4 r( F+ C
/ y/ l6 N" p4 L! C . Y% T, i# u8 R: ~2 U) c
9 }: U+ v `0 n+ V# `7 {& w( v' r 8 J% M" U& s3 B5 K+ f
gen pmaxplddy240=`tempmaxphddy240' in 1" R2 U4 s& a8 O/ G/ T: M- x
+ u0 d- P' p0 @; R; o *-------------------------------------4 b9 }9 Q d; v4 C" b! \/ A
' ^3 n" N2 [4 ?# e- L4 s" @ gen price5d=v5 in 1/20
& d2 v8 |! i3 d e0 y) o' v $ \7 K8 f E. A2 x" D- J
gen price5yy=_n in 1/20
4 p3 f( m. j, m1 D- J
; j3 B( Y. d8 e: L, {# w, O& E gen price5y=price5yy*(dy240max-dy240min)/204 O# F' r- L; }" T3 P! @
, p: {- n7 ?! I; j+ ?
*price5y &price5d
1 G8 r' z1 @3 c
3 f, j0 h6 k! i9 B7 B* b; p- N gen priceny=price5y in 13 n& v4 X2 a0 L. N
7 {0 E! R9 s* w) o% i$ Z gen pricen=v5 in 1
/ ?8 b$ G2 e9 R. |" k& v- c8 l) N3 `% s/ J2 ^: H( O
% H7 a& s3 b7 }0 w
*priceny &pricen* Q# d% b* L2 A6 p; D
0 l( W5 A/ T8 W; d: h- k
, n j1 {6 q) b, v5 Q) |% h *-------------------------graph------------------% s V9 a$ r8 u0 M, b: X% J
2 ?" E; \; ^- q4 O tw(line dy240 ddy240g dx240)(spike yxis amean,lc(blue))(spike yxis mean240, lc(red))(spike yxis maxp, lp(-) lc(black))(spike yxis minp, lc(black))(scatter yxis2 amean, lc(blue) msymbol(+) mlabel(amean)) (scatter yxis2 mean240,lc(red) msymbol(+) mlabel(mean240) lc(red))(scatter yxis maxp,msymbol(+) mlabel(maxp) lc(black))(scatter yxis minp, msymbol(+) mlabel(minp) lc(black))(scatter yxis4 pminphddy240, msymbol(O) c(l[-]) mlabel(pminphddy240))(scatter yxis3 pminplddy240, msymbol(O) c(l[-]) mlabel(pminplddy240))(scatter yxis4 pmaxphddy240, msymbol(O) c(l[-]) mlabel(pmaxphddy240))(scatter yxis3 pmaxplddy240, msymbol(O) c(l[-]) mlabel(pmaxplddy240))(scatter price5y price5d, msymbol(O) mfc(black) mlc(black) c(l[-])) (scatter priceny pricen, msymbol(O) mfc(red) mlc(red)), title("`f'") xtitle("`1'") ytitle("density") legend(off)6 D' q' C( ?: k- i/ r5 ]1 [/ j
5 O+ B8 `0 j; @6 _$ @4 U* ---------可选项目----------------------
N# a, Y& v6 z4 G/ t( ?9 O4 D( j* X* D& c% o6 ^: V
}
* q: z; c& w5 Z mend
1 f) s8 D) c- b5 p0 d |
|