|
|
改了一下,这次运算应该没啥问题了
# _7 m) F2 {- ^: Z* G4 _
; A9 F+ W/ j, T
: L. W' m H( \capture program drop hello
: _' f4 k; a3 Z; c& H$ [; a) _0 m6 ?# Q* i5 T
program hello1 i3 y0 C: `7 W$ S4 K# c: L7 G8 E
3 l, [, e4 x3 d1 e% q( m5 h quietly {; H) D, J) r: p" O6 Z: d# y8 l
% o/ u, w0 r; r
clear
0 T" f9 R- C' I, b. E
- d5 P; R: t6 h" z- k. S$ Fcd e:\finance\stock\20110101\source7 h" L% a4 Z( d6 o9 S7 S
* l+ p w8 e& n$ E
insheet using `1'.txt
$ O6 x8 |$ @) w# {& v* B1 v* n
G' S: ]+ O0 z% j9 ?; }+ |: L keep if v5>0
: v7 V& ^' z; A/ N8 d: \4 |* ^; X
# t. N+ y( F/ l gen vt=_n
. w2 c: h9 o9 R# {' A% \$ A5 x3 O ! C' \% k$ t7 ?# _, T$ s0 H
tsset vt
/ v- Z5 l1 r+ e- L: D+ W# E! `4 ], K+ d
gen zf=D1.v5
# |& M' n: x z) {& a8 b% u6 {2 S4 F( {1 t
gsort -v1( z- u& T. ~) M5 j& d: e4 A
# M* X- l# b; P/ z. s% p6 R4 @8 W
gen avol=v7/v5
/ F {& W% w. l' ?. U8 u
/ @4 Y* F! M5 y* r keep if avol>0
2 H2 H# p6 D0 {8 n; w0 O7 B # u& m3 ?3 n" a9 U# _ w
drop vt9 {- ]7 E2 |1 b' ^0 R/ G
- @6 _) h* |* ]* K7 T8 z9 _ gen vt=_n
- s/ F) F$ E: p% ]0 j) \- t
' `, Z! h6 }0 ~% g tsset vt) q7 \( k+ F; u" ]; b& W3 K
1 J( E, p$ ~- |8 F# _, W sum v5 [aw =avol]
q, A# m. i+ j' Q9 @' k* d! Y2 Z5 A9 R; D- T
gen amean=r(mean) in 1
5 b+ ~2 t3 A4 ~( k) \% _ " C+ J4 C, X1 @
* 总加权平均值 amean. b! n: s5 l4 ^0 x2 [5 F
( @+ I! C. [8 ^' {0 z8 f
7 m5 j! K' d2 r/ J6 S keep in 1/240, S' M" g6 B( q7 v0 R
! |& V0 _) Q& y% O2 l# v
sum v5 [aw =avol]
# G8 x/ t# ^ ?- z" y5 b9 F; L6 p2 L# z% D
gen mean240=r(mean) in 1+ l) \6 z/ |" o- v
7 B- B& a3 ?/ A *240加权平均值 mean240
5 C$ f" k& p' a" C: t # [* K; X# b) \# I; q$ m
set obs 500
7 k& A: B1 u( T- R; s7 r( z$ F; a 0 E2 q1 H7 q7 G+ n+ d4 ~, |
kdensity v5 [aw =avol],gaussian n(500) generate(dx240 dy240) nograph% y5 f6 B J0 t: c+ m$ I: E4 X
) b. Y. d3 X5 n" R) b* [2 U *240 kdensity(dx240 dy240)% Y$ U% f8 C* x0 w0 u q7 g# W. x
$ A+ f# C, I x" l- J& G
sum dy240
2 U( M/ c+ l2 ^& c( P5 i & y$ z' O' u7 w4 R9 Y. L }4 U
gen yxis=r(max) in 1 S9 O: h% E, D9 @* F5 K
( Y; e9 o" g5 U! g2 g! i+ Z gen yxis2=yxis/2
7 ]0 h2 T- @( J# G
4 W' \3 Y# j( F *yxis
+ C3 j$ j8 X# U: C; r! `- h; T2 A
6 F* |, Y, {+ b9 m4 S. l* x* Y1 u' \ gen dy240max=r(max). e0 a/ f2 R8 @; x2 W% O8 g3 J
1 j2 M5 m( }0 X6 g gen dy240minp=r(min)
! J8 s. J5 x9 X5 F0 G0 N, y+ M 3 J/ |% \9 |; c4 B* m' z
gen vtt=_n
1 s! v M1 R% S$ a- V; ^, ]. M9 i" v" V
tsset vtt/ B, H: ?- {# j1 l& y% p
( M& A6 c7 n6 Y( ^5 Q. _
gen ddy240=D1.dy240/D1.dx240
1 e, Y+ M8 {- V" F& Z4 L
# A# A! ^8 t0 k7 V+ Z* e0 J sum ddy2406 d" g! K3 B9 {% U [
! E$ \4 z' W# H gen ddy240max=r(max), t5 _, v8 @6 A: a! \9 d7 `/ f" J
: \3 {" j& }( ~' z* |3 S6 U& t
gen ddy240min=r(min)
j7 _! F! O- F4 m0 U2 E: @ 6 G# p9 y: w% J$ \) c
gen ddy240g=ddy240*(dy240max-dy240min)/(ddy240max-ddy240min)
8 Y& S8 J9 x7 G . h7 c# ] A. E3 B6 I1 |* f
sum ddy240g: S3 C9 a* J$ i+ C. H9 }
2 S- N5 ]2 O A1 c
gen yxis3=r(min) in 1
# \' J4 @8 }* N: z( v w* l " Y6 Z2 B. X$ d" T8 m
gen yxis4=0 in 1. ? o0 R, o8 I4 ^2 c& ~, [# ^3 P1 p
- Z/ l* O$ b5 ?; V2 ^' C
*ddy240g 6 ?# u" I) X$ P8 u- g# Z+ Z
1 \+ J* b) H4 ?+ H; t& ]
- L- w, g7 _# j( ?5 ]( t/ y preserve : b9 r* g) v8 W8 x3 X5 D2 E
t4 O& o9 s- K6 r$ l' o2 A
sum v5 [aw =avol]9 Q2 H/ s! _+ V B5 ~; t6 @
O( s2 s: _- ^" h ? keep if dx240<r(mean)
# s/ b. q7 s( r6 l9 O, K4 t ' }" V* d4 m. O" h5 T# g4 u1 d6 @
sum ddy240: p! Q( `: ?% n
$ m( `' T4 c( y9 e$ T if r(min)<0 {- x T! t) O* b5 a/ }- d
7 x N4 }' k7 m: X
keep if ddy240<=0$ K: N- d0 }5 G3 x" I: A9 e
# q4 W) i$ x/ Y3 m. f! { count
) a5 \& X; L0 ]; G3 C- q9 y
. i2 l5 _( e; x if r(N)>2 {
! e) }# G9 v7 x* C
" _3 O! l2 G: P- |9 y9 g/ Y pkexamine dx240 dy240
+ t6 r" G! P" G" m$ a7 p
+ u5 W( N; o) a0 P" N) H* d local tempminp=r(tomc)% ]9 j( \0 y; s' q# a
restore
# r0 B$ ?4 @2 i7 Z3 c3 @" f7 I }7 O0 x$ H# v0 e( g2 M
' T9 b# n, z# T4 d
else {
) c9 ^- A. p$ U( \' Z2 c& T# ~ ' u" G& x! S" b |' O$ \7 A7 i7 {
di "cannot find minp"
( ]+ ?) U) ?# k8 b- E ]
% k. k. q; V& N. q e `; o% g. y" z restore
+ |- m* k9 I5 w: Y# d' A sum dx240
9 q Z+ _. u ~) U5 h local tempminp=r(mean)
?4 g! y) o) K4 a
# X/ t A& B0 O9 Y% e, g) ^/ g+ ` }
8 [5 C" a# l) ~/ i! s* u6 h- G }
# x/ `5 D& J, l# I else {
+ @4 c5 M0 @, ~ V( H$ D
, H7 ?0 v6 Y# Z; {" {1 H4 }9 a keep if ddy240<=r(min)' J3 c$ s8 K/ g u" d2 ~0 P3 g
. O' R I2 G& h, x. k% g sum dx2401 X7 q4 o5 u# Q( E
4 `% Z: w- W6 [( a local tempminp=r(min)6 b7 |( G! g$ b h U/ E0 n
restore
# g( v( a) E& E' h6 P }0 u1 v. M# p) A6 O, S' [6 P8 p
2 G6 O1 t {- x. N/ i9 v% S
! A+ a" f5 D3 G& b9 v" J& I+ @! K
7 I+ Y2 L, C, t$ P1 X' k4 X4 k$ S% R gen minp=`tempminp' in 1
# y4 L/ V" q$ j *240 minp J% d: k# U. [# c0 V
+ G- {6 E4 g# \2 U4 m. K* M
# \1 s8 p/ j/ y 1 T' A5 @1 ^2 M7 [
preserve * u/ K% b: f. d2 e: O# a
& f0 A. v+ n6 H% g, }3 L* R- K sum v5 [aw =avol]
# | v) A! r1 X7 ?/ n. K
9 \. K% p1 P+ z7 T8 S keep if dx240>r(mean)
: c* ?) ^6 x+ B 7 t( X! {. z S3 Z
sum ddy240
1 Z' h" p7 V" X7 |5 O$ d
3 J& v' s2 I! B if r(max)>0 {7 P v' F% j4 `" a9 P9 Y; ]2 l6 @
' q" U$ }+ q! c9 r3 j# g+ g# R keep if ddy240>=0
, o. X# ?% ~. z9 c4 G1 M! ^7 g+ I
; d- U8 E2 L+ X1 l' M" h count
! Y( U8 W2 x4 H7 i: [
2 A, K3 O: L- G: b: @0 ^' a if r(N)>2 {0 D" E. \9 W0 U/ h4 e0 F- ?
, h6 x7 y0 u9 z; T# F- k( y7 W# M1 w: x pkexamine dx240 dy2400 L( [2 l) s& C S0 e1 z* X2 g1 A a
% O9 W- w+ M) S+ d n" G4 a( P, m local tempmaxp=r(tomc)
" Q2 U. p+ _; n5 q' L9 x) e3 Q' M restore 6 B" F+ u/ A" Y1 G) c J# l+ \
}( d1 V/ M& @0 O" \8 B/ ~
! l2 l1 |" a1 s* ?: \
" H# c. d8 j! B$ n9 k1 J5 N else {2 ]4 h8 V$ y G1 x6 h
restore ; P3 _% I) O+ H. H- R) d) g3 T
di "cannot find maxp"
- L+ ~! z$ u5 E+ E$ R ; p6 a$ @) b9 l0 P: m* P N5 L
6 u# k8 b+ V' _) H4 \" W sum dx240
! u x B& B a4 I) A6 w3 {! g6 p local tempmaxp=r(mean)
8 U x, N: q8 ~0 j2 g3 w- Z2 M * S5 D8 q3 y. W* f! l
}
! b6 v! X0 d# C6 ]* C: q! M
( r" }& L8 Q$ K D }
& J N$ b8 S- Z' p3 a 4 L6 k/ y) ]( x! ^
else {
! K% e9 P, k F/ c5 ~# F 5 T, s" I/ F$ z+ I6 b0 S
keep if ddy240>=r(max)7 s$ t. o# e6 N
* r3 Q6 E8 ?7 l; Q/ z sum dx240
; ?# z% d Q5 B8 R& z; G/ R1 Z : q% @% ?3 h& R- V8 {+ ~4 g
local tempmaxp=r(max)
, A$ A+ u5 r$ N& Q+ u restore & N( k) A: d+ [1 Y2 O* O2 ~4 P
}& A% W* R9 u* n2 ~: ]4 k( d
( Z) N1 X' R5 |6 j
0 i; M( }6 l9 Y1 n _* N. f
* D; f' [! h- c
' k2 v8 f" Q/ x9 v# u gen maxp=`tempmaxp' in 18 X6 A* ~" J8 ]- Z2 i6 t" l2 f
' `8 ?4 T& f% u *240maxp
8 P" l2 j+ y" T# X d% z % O& ~( S3 W2 j2 U; K: g' {
+ T& H' w0 ^9 F" G6 N& f *-------------ddy240pminp左侧高峰值-----0 W# _& T, X8 i* q7 B1 F* P
; P4 O6 W7 n' r# U0 a, W1 N
preserve ! s6 V9 T: @7 O- U/ F2 \9 y
1 v/ Q7 F0 e! f' G keep if dx240<`tempminp'! p' H/ r) f8 ]3 t; f
7 d& ?( y1 }' }5 U8 w keep if ddy240>03 N. R( e6 z0 r2 |- G6 P
( ^3 Y* [$ F+ k* J7 E0 u
count
; z: N2 O5 i# h6 s
& n/ @ H0 d6 G) J& F) r( _4 \ if r(N)>2 {
T9 w& G' D. t% D9 }/ J ( C# c, w3 z, I' m. l3 Y _$ L4 I' V9 Q
pkexamine dx240 ddy240
9 `2 }3 B' y N8 N6 F $ O$ Z- ~6 i' o# i1 _4 K. T
local tempminphddy240=r(tomc)
" \3 {0 v1 d R! `& l restore
" y6 B, X& t6 B! d7 F }/ y0 ~+ W+ Q$ V) f6 s2 A
' D0 l/ I! A! z' O' ]
else {
5 s3 n0 d0 S; u+ _& ^ restore 2 f; Z- \( s9 T) X% X @9 K: f
di "cannot find pminphddy240"5 S2 g; s. N, t& ]8 }2 M6 H1 P8 Q* y
! ~0 {5 O# M9 a0 Y
- o$ e0 i2 R! k {% X/ I m) W+ q. N sum dx240
& ?6 G! X: M6 \! w# E g local tempminphddy240=r(mean)
1 H2 C7 O6 N( _' p
0 V; [) x3 k) h$ N % T- l! ^ s; F0 W& c
}
' }+ f$ ^+ U1 I* J/ p/ ~4 b; Q6 P
/ |- s0 o' b0 w" ] w + Y6 t/ C/ W2 n# i6 p( p) L# I
1 N4 T% l! C8 q( b( A
6 M0 J; q% b, P0 R. @ ! L Q( X9 P: G- k' V! d |6 [. E/ R
+ R+ N6 U& \ V: G0 I2 G9 i gen pminphddy240=`tempminphddy240' in 1) l# m$ H0 n8 Z$ |) T) d3 v
3 o* q5 N& m8 V1 J- \ x
" R2 a: E: m' s7 E% W *-------------ddy240pminp右侧低峰值 -----------------
( L$ S& a( j' k/ h, v preserve
1 ~0 n# s! q. J e1 ?. [! }) i$ f3 H : e2 L- m; |/ J3 M4 P2 D- Z8 r
keep if dx240>`tempminp'
5 B% v- B6 \- }9 A n * e( C) h1 c) e; `
keep if dx240<`tempmaxp'
9 a w; q! n" o% \* Z 0 l: Q* E6 t% ]: [: ^
keep if ddy240<01 X8 w$ o+ }. _+ Q8 w
% U2 K9 B) E0 `# m1 H+ z Z
gen temddy240=-ddy240! ?1 ?/ w f* Z2 R
! H, t3 J, ^5 J) k1 s" K. V
count
0 T7 I! N z' s0 ~. d3 O/ k: @ $ H r; p3 ?5 G$ b! Y) O' d
if r(N)>2 {: b+ f7 H1 Q( Z/ @
8 e, T: Y u( c# y$ j) T# k
pkexamine dx240 temddy2402 Y) U9 x1 f `* v& ] U
$ `6 P* r, k$ m3 E% q; i( n/ e
local tempminplddy240=r(tomc)' O9 n! W4 ?* o0 i) W3 j& m
restore
2 K" O+ c8 ^% w1 r }/ h; r* x. r& a/ F
7 w: d$ S# T, ] o9 W$ ]% I
else {
8 c( R9 K. \! d a" \$ x
4 L# O0 i$ n, w* o6 ?0 g di "cannot find pminplddy240"" I; }1 L2 a( V) v
restore
. _$ a9 s* j! Q( z4 B3 t
- }- ]( U7 L; w: ?- i. t7 E) ~4 a sum dx240
) ~, w \* @( x6 C local tempminplddy240=r(mean)
( M8 v3 o+ `# B$ Z, Z
/ k) e% w' j& f% M. c 7 G0 `" B! e: V( K. L5 X9 ^' ^
}
) T: y# r7 B" Z0 y* n4 Y5 {% o% h
9 b: C+ W# M9 |7 f/ ^ , p" ?8 f. t. X! f5 a
; f2 m7 D& L9 W3 A. e- @
9 {/ z# D" `/ P0 k, Z # ]7 H) I, Q$ N) \
gen pminplddy240=`tempminplddy240' in 1+ E5 c) T# h% f$ g
* N4 y9 x `$ v& K! X' g
*-------------ddy240pmaxp左侧高峰值 -------------------
# F6 p4 j' C, _' x" f( z! \" f" |
! ?8 F1 G* L) n D0 F3 M' Y preserve 5 W1 A/ J- k; g* y* O! a' a
! L, _2 d% w8 z) b$ N keep if dx240>`tempminp'
z. l0 o, H, L- f0 V % D( b3 ]" f _- Z
keep if dx240<`tempmaxp'8 i9 S4 F! T6 v1 Y4 ~3 S
, _; U. B: n# s b! y) J" e3 \* h" z
keep if ddy240>0
4 I& f/ z; Z; F( X5 N count/ z7 j; R* @ \
4 E9 }( C, r; p' H* {5 o% U5 m U. a if r(N)>2 {& _1 x& t% v# d0 v
) D& Q! [! h: Z1 g5 [' Y
pkexamine dx240 ddy240
6 C# i8 U4 M. h
+ T3 X5 x3 @$ t7 U4 ?5 S local tempmaxphddy240=r(tomc) % U- o$ ?7 d! S$ W' J
- y# Y i$ ]* S& g
restore
. P) C+ t6 v% ?$ w4 q" l7 F0 s }
" Q5 ] ]1 z% Z O ' y. c! \$ v0 e6 D
else {( P- W+ i$ Y, c4 Z$ k8 b2 `
0 W" Y# j1 x- X/ V# ]% h di "cannot find pmaxphddy240"
' H- k- x3 ~. }* ?" v. Q1 _ restore+ r7 o/ v0 I0 G' v) E) V
3 o" v F+ C. {( l8 X D1 }1 { sum dx2405 Z G7 z% s; C8 X
local tempmaxphddy240=r(mean)
3 U E) q5 P+ d
1 S9 z$ Z) d3 V; B; o0 E 6 `: N% w2 F) u2 V
}
& s% N3 \ \/ W, R# { 3 H' a3 j% I; X% s9 V
4 G7 y1 r5 A! A5 P' r5 F& t i ! N" p' r! A# Z3 M
) U' Q7 H4 y1 u8 Q/ C* U
, M$ [6 T$ K5 e) C( b+ B : D) s6 U" R6 @! H" v" r1 c
gen pmaxphddy240=`tempmaxphddy240' in 1
+ z" L) ?9 Y/ O5 V ' j* D/ \* n2 h
, v/ f, L2 C3 F) {! c
*-------------ddy240pmaxp右侧低峰值 -------------------
" }3 a; h( e5 H" F$ S4 O ' C& { N( ]2 ^+ x
preserve
0 E- C% H0 q s! O
# |" y4 u5 N: L# w5 v0 D keep if dx240>`tempmaxp' Q3 O& O; Y* q, |) L
6 T& v9 V5 F% J# } B) s: q
gen temddy240=-ddy240: t( \! r: z5 N, [$ P3 \ e
+ N$ h$ u. X2 ^4 e
keep if temddy240>0
2 N' K7 f. g$ u# [
1 r) z8 |; \ Q# h' |# f. T count6 Q* n% L! E( |5 c0 L
1 o6 p5 L W" `7 c3 O. N! L
if r(N)>2 {% ^, P! n" r3 E& W i
. F i. M( _; G3 H
pkexamine dx240 temddy240
: c z' R6 {( @ \' D6 U* ` 3 d0 x2 q5 V" G& {7 k. l+ |# H* |0 w5 k
local tempmaxplddy240=r(tomc)
( |7 L$ x$ ^( i% c s' N restore
: s7 o1 A+ Y9 `# f6 n( v6 z }# c) N* R: N' R& S" q% k" z6 U& U
- Z0 T s# s: o; l
else {: l1 G" n- j; m9 p% `$ A
restore
% m( r. h# `; t7 V9 G) u di "cannot find pmaxlhddy240"
" a! K' R$ L8 R8 F( m8 H 1 e" R* t, i9 X! w' k% J r
5 S+ U. Z% m& H0 ~1 r+ H
sum dx240
! [* M7 A3 S- Q. T6 |9 Y7 Q local tempmaxplddy240=r(mean) in 17 |: x9 ^: [: E2 `) j
$ Y) m! {" C3 l3 b5 \9 p2 k' ], { ; P* N" Q' Z7 z% ~5 Y' Y% ]4 q
}! M! q9 q1 u# g
' E% J: F9 S" P- A* P5 e9 M
- w0 `: ~, Y2 W) t4 D 9 |5 j; `* R+ I! N3 n- \$ ]
, `1 }+ W6 S o7 H8 {0 Q6 h " K. O+ o( ~; A; f
6 S! k. l; @9 D# y
gen pmaxplddy240=`tempmaxphddy240' in 1! P' L# u. [4 c2 R
7 w! a* C* y2 l& d- g+ }* `
*-------------------------------------1 q% C- _% ~1 R% u
- h, a) p2 i2 q* d* p m
gen price5d=v5 in 1/20
# d3 @( C# d! X7 \ M. h% p
8 D* a* O) h7 V# D/ B! T gen price5yy=_n in 1/20" Y; b( ]# C2 C; O# s! ?6 n9 z. k6 D
) I% C- J' ]2 R/ T- t# ]
gen price5y=price5yy*(dy240max-dy240min)/200 W; L o! G* p8 y P' @
9 i6 z$ ~7 y I1 Z *price5y &price5d7 m8 r5 h: P* M; }1 G: F
i$ L7 L: ?; z gen priceny=price5y in 1
u4 H! f; C" g! u) x- h
& a/ d9 n. @7 m9 I: M) s, t$ _ gen pricen=v5 in 16 C+ ?# F' r) u7 L: f# j) R
6 |6 d# T* U8 L8 ~0 ~
" {7 E) K/ B, X! y4 A *priceny &pricen
9 h% o, @* x. J4 Z- n1 ^, h " L6 f& b" z" E
/ A- M A! K# g *-------------------------graph------------------
$ x4 {* H: G" y# r. h# p
( |/ V* z6 U$ S8 H+ j' j 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)9 Y7 O( W# o8 X' m0 X% Z
7 K. g3 W- N, N& b* ---------可选项目----------------------
! s' G# V( u9 n% [! V* m2 k. N0 M; Y# c7 ]' W6 L7 _! ^3 U& L0 q
}9 v; W2 u) I0 K4 J2 A3 [# t- v
end! m9 J5 T8 `" h5 z6 {. @; K3 g
|
|